Berkeley CSUA MOTD:Entry 49645
Berkeley CSUA MOTD
 
WIKI | FAQ | Tech FAQ
http://csua.com/feed/
2025/07/08 [General] UID:1000 Activity:popular
7/8     

2008/4/2-6 [Computer/SW/Languages/C_Cplusplus] UID:49645 Activity:moderate
4/2     Is there an interpreted version of C or C++ that can be used for
        educational purposes? It doesn't have to be full-featured or
        strictly adhere to the standards, but it's painful for students
        to change a variable in a for loop and then wait for a compile
        to see how it changes the result. Something really lightweight
        would encourage them to play around a lot more and learn more in
        the process.
        \_ There are interpreted versions of C around.  I know of one at UC
           Davis, although I don't know the name and have never tried it.
        \_ Seriously, for this level of programing why are you using C?
           There's all sorts of better learning languages that aren't going
           to get bogged down in C land.
           \_ Because this is to teach students C/C++ in particular and not
              CS/logic. Same reason why not to use perl or python in this
              instance. Imagine that you want to teach high school students
              C/C++. I don't want to use a 'learning language' like
              Pascal, because the objective it to learn the fundamentals
              of the C/C++ language. Many already know Java anyway. We
              can use a real compiler when the projects get more complex,
              but at Ground Zero an interpreted version of C would be nice.
              \_ I would argue that the compiling process is a pretty
                 fundamental aspect of C/C++. So becoming comfortable with
                 that (teach them to use make at the same time?) is part
                 of learning the language. For simple programs compiling
                 should be really simple to do. An IDE is even simpler but
                 probably harder to see what is really going on (Visual
                 Studio feels like using MS Office or something instead of
                 seeing the individual steps.)
                 \_ We are using Visual Studio, but it is far too
                    cumbersome to start with. One compile of "Hello
                    world!" takes a few mins even on modern h/w. It would
                    be nice to be able to prototype simple programs
                    or 'play' outside of the compiler. It is a PITA to
                    recompile every time to do a simple change to see
                    what might happen and it restricts people from wanting
                    to experiment.
                    \_ Few mins for hello world? Something seems wrong.
                       At any rate a simple editor + gcc would definitely
                       be easy. Just edit hello.c, gcc hello.c, a.out.
                       Rinse, repeat. Well, good luck.
                       \_ Or "cl hello.c" if Visual Studio is in your path
                          environment variable.
                    \_ well this then, is your biggest problem. were you using
                       a linux host, gcc would compile simple C programs in a
                       fraction of a second.
                       Barring switching over to Linux, you could potentially
                       try using gcc under cygwin, also very fast. -ERic
                       \_ Can't switch to Linux as their lab runs WinXP.
                          \_ reread my whole comment, including the gem about
                             cygwin, which runs fine under winXP. -ERic
                             \_ I read it. I was just explaining why
                                Linux isn't an option. Thanks.
        \_ Why not use perl? If you have to use C, try cint from CERN:
           http://root.cern.ch/twiki/bin/view/ROOT/CINT
           \_ Please, not perl.  Python.  Ruby.  Hell Scheme.  Anything
              but perl.
           \_ cint looks interesting and I will play around with it.
           \- long ago, there was "Saber C" ... i dunno what is the current
              state of Sabre C/codecenter. Do these studnets know how to use
              gdb? I dont think the "problem" is recompiling, it is syntax
              and inspecting data structures. Why dont you use lisp. --psb
2025/07/08 [General] UID:1000 Activity:popular
7/8     

You may also be interested in these entries...
2014/1/14-2/5 [Computer/SW/Languages/C_Cplusplus] UID:54763 Activity:nil
1/14    Why is NULL defined to be "0" in C++ instead of "((void *) 0)" like in
        C?  I have some overloaded functtions where one takes an integer
        parameter and the other a pointer parameter.  When I call it with
        "NULL", the compiler matches it with the integer version instead of
        the pointer version which is a problem.  Other funny effect is that
        sizeof(NULL) is different from sizeof(myPtr).  Thanks.
	...
2013/4/9-5/18 [Computer/SW/Languages/C_Cplusplus, Computer/SW/Apps, Computer/SW/Languages/Perl] UID:54650 Activity:nil
4/04    Is there a good way to diff 2 files that consist of columns of
        floating point numbers, such that it only tells me if there's a
        difference if the numbers on a given line differ by at least a given
        ratio?  Say, 1%?
        \_ Use Excel.
           1. Open foo.txt in Excel.  It should convert all numbers to cells in
	...
2013/4/29-5/18 [Computer/SW/Languages/C_Cplusplus, Computer/SW/Compilers] UID:54665 Activity:nil
4/29    Why were C and Java designed to require "break;" statements for a
        "case" section to terminate rather than falling-through to the next
        section?  99% of the time poeple want a "case" section to terminate.
        In fact some compilers issue warning if there is no "break;" statement
        in a "case" section.  Why not just design the languages to have
        termination as the default behavior, and provide a "fallthru;"
	...
2012/7/19-11/7 [Computer/SW/Languages/C_Cplusplus] UID:54439 Activity:nil
7/19    In C or C++, how do I write the code of a function with variable
        number of parameters in order to pass the variable parameters to
        another function that also has variable number of parameters?  Thanks.
        \_ The usual way (works on gcc 3.0+, Visual Studio 2005+):
               #define foo(fmt, ...) printf(fmt, ##__VA_ARGS__)
           The cool new way (works on gcc 4.3+):
	...
2011/3/7-4/20 [Computer/SW/Languages/C_Cplusplus] UID:54056 Activity:nil
3/7     I have a C question.  I have the following source code in two identical
        files t.c and t.cpp:
                #include <stdlib.h>
                int main(int argc, char *argv[]) {
                  const char * const * p1;
                  const char * * p2;
	...
2011/2/5-19 [Computer/SW/Languages/C_Cplusplus] UID:54027 Activity:nil
2/4     random C programming/linker fu question.  If I have
        int main() { printf("%s is at this adddr %p\n", "strlen", strlen); }
        and soda's /proc/sys/kernel/randomize_va_space is 2 (eg; on)
        why is strlen (or any other libc fn) at the same address every time?
        \_ I don't pretend to actually know the right answer to this, but
           could it have something to do with shared libraries?
	...
2010/2/12-3/9 [Computer/SW/Languages/C_Cplusplus] UID:53708 Activity:nil
2/12    I need a way to make a really big C++ executable (~200MBs) that does
        nothing.  No static initialization either.  Any ideas?
        \_ static link in lots of libraries?
        \_ #define a   i=0; i=0; i=0; i=0; i=0; i=0; i=0; i=0; i=0; i=0;
           #define b   a a a a a a a a a a
           #define c   b b b b b b b b b b
	...
2009/9/28-10/8 [Computer/SW/Languages/C_Cplusplus] UID:53409 Activity:nil
9/28    http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
        Java is #1!!! Followed by C, PHP, C++, Visual Basic, Perl,
        C#, Python, Javascript, then finally Ruby. The good news is
        Pascal is going waaaay back up!
        \_ C is still more popular than C++?  I feel much better about myself
           now.
	...
2009/8/7-14 [Computer/SW/Languages/C_Cplusplus, Computer/SW/Languages/Java] UID:53252 Activity:high
8/6     In C one can do "typedef int my_index_t;".  What's the equivalent in
        C#?  Thanks.
        \_ C#? Are you serious? Is this what the class of 2009 learn?
           \_ No.  I have to learn .NET code at work.  I am Class of '93.
           \_ python is what 2009 learns, see the motd thread about recent
              cal courses and languages
	...
2009/7/21-24 [Computer/SW/Languages/Java] UID:53168 Activity:moderate
7/20    For those who care btw, it looks like eclipse is now A Standard Tool
        at UCB ugrad cs, probably replaced emacs.  Furthermore, people get
        angry at seeing Makefiles, (since eclispe takes care of that).  I
        guess it's just a sign of the times.
        \_ The more people at my work use eclipse the less the code is
           managable in emacs.  I'm not sure which application's fault
	...
Cache (541 bytes)
root.cern.ch/twiki/bin/view/ROOT/CINT
CINT is a C/C++ interpreter aimed at processing C/C++ scripts. Generally execution time is not critical, but rapid development is. Using an interpreter the compile and link cycle is dramatically reduced facilitating rapid development. CINT is written in C++ itself (slightly less than 400,000 lines of code). It is used in production by several companies in the banking, integrated devices, and even gaming environment, and of course by ROOT, making it the default interpreter for a large number of high energy physicists all over the world.