Re: C interpreter

  • From: "Arthur Pirika" <arfy32@xxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Fri, 23 Jul 2010 21:27:24 +1200

wow. you make it sound so dry and cut, <smile>. But, I wish the same could be 
said for c++ programming. C++ is, as we know, probably the most? powerful 
language in existance. Here, power equals complex, several dozen ways for the 
programmer to achieve her goal, etc, etc. And, truth of the matter is, python's 
good. WxWidgets is really nice, and free. But, if you want to really get into 
windows development, and say, extend your favourite media player with new 
plugins, well, it's almost always going to be that long slippery slope of 
dll's, msvc, __cdecl.... Afaik, developing shared libs for linux/unix isn't 
nearly as complex as the windows way?

Keep the discussion going.

Arthur.

  ----- Original Message ----- 
  From: Kerneels Roos 
  To: programmingblind@xxxxxxxxxxxxx 
  Sent: Friday, July 23, 2010 9:14 PM
  Subject: Re: C interpreter


  Oo... Bring in the fire hose, we've got some flames over here. Ha ha.

  No, it's fine, I know you're not trying to give me a hard time, you are just 
passionate about C and it's weird depths, which is cool!

  But, the point of my email was not about if C is esoteric or notI was trying 
to point out that the basics of C is simpler than the basics of Python. With 
Python you absolutely need an interpreter while learning it while with C you 
can get by without one, at least at first, and that the most important 
*general* things C teaches you is better learned with code files and a 
compiler. But it's not that important and if a interpreter makes you happy go 
for it.

  I have a lot of respect for C as it played an important part in the 
development of programming languages and is still the low level language of 
choice, as you pointed out the hole Linux kernel is written in C is it not? As 
is all those modules is it not?

  If one is just starting to learn C it's going to be a while before you get to 
the weird and wonderful **esoteric** parts is it not?

  C originated in 1973. It was the brain child of Dennis Richy who wanted to 
develop a language to program in so that there would be a low level alternative 
to assembler, that also had more features than assembler. I bet there were 
improvements and additions to the language over the years. What is really 
amazing is how the basic syntax have stuck around for so long and has 
influenced Java, Perl, C#, C++, JavaScript, PHP and on and on.

  Today one should only invest in learning C if you intend to do very low level 
programming, like hardware drivers, or very optimised code that needs to run 
extremely fast. For anything else you'll do much better learning something 
modern. Oh, it's also good to look into C should you desire to learn what it 
contributed to modern languages or if you want to do programming for devices 
where resources are limited.

  But all of this is just my opinion. I'm passionate about programming and 
would not want someone to waste their time on this or that while it does not 
help them to further their actual goal.

  Thanks


  On Fri, Jul 23, 2010 at 9:33 AM, Sina Bahram <sbahram@xxxxxxxxx> wrote:

    Oh, I think it's useful.

    I must say, I loved this line:


    With C however the playing field is far less esoteric (to my knowledge). 
The important concepts that an imperative language like C
    contributed to the world



    C is by far one of the more esoteric languages ever to come into existence, 
*grin*. The idioms used in that language are enough to
    boggle the mind of anyone who has studied the basics of human psychology, 
how people learn, how humans communicate (both to devices
    and other humans), etc, etc.

    Const pointers to non-const fields which are structs that have inlined 
arrays so as to avoid a pointer reference, which by the way
    double inside of a union as a c-style string which is actually a pointer to 
itself as a form of optimizing the memory packing of,
    blah, blah, blah, blah.

    And I didn't make that above thing up ... Haha, it's inside of most Linux 
kernel structures.


    But I'm not giving you a hard time or anything. The esoteric comment just 
caught my fancy.

    Oh, and I do agree, eventually, if you're going to be a hard core leet c 
haxor, then sure, process is important, but interpreters
    are useful for exploration.

    Take care,
    Sina



    ________________________________

    From: programmingblind-bounce@xxxxxxxxxxxxx 
[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Kerneels Roos
    Sent: Friday, July 23, 2010 3:27 AM

    To: programmingblind@xxxxxxxxxxxxx
    Subject: Re: C interpreter


    Hi. I can not imagine learning something like C by using an interpreter 
similar to the Python interpretor for example. With Python
    it makes some sense since Python has list comprehensions like:
    [x for x in range(10) if x % 2 == 0]

    which will produce a list of even numbers, and things like array / list 
slices and even regular expressions.

    To test these things  on the fly an interpreter makes sense, or even small 
functions which you can just copy and paste into the
    interpreter and then test them out there.

    With C however the playing field is far less esoteric (to my knowledge). 
The important concepts that an imperative language like C
    contributed to the world of programming languages are, and hence what you 
want to learn from studying C are things like:
    variables and constatns
    arrays
    structs
    the concept of functions
    conditional statements
    loop constructs
    pointers
    bit wise operations
    input and output

    To me it makes much more sense to make use of code files and a compile, 
run, debug cycle to learn how al those work. Especially if
    one is learning to program for the first time.

    Some of those concepts require a bit of setup code first, so would one have 
to type that into the interpreter then first every time?

    I would advise you to stick to files and compiling and running your code -- 
that's how C works. Also, with an interpreter you can
    get way different errors than with a compiler. At the end of the day your 
goal is to use a compiler, why not start with that from
    square one?

    Hope this helps.



    On Thu, Jul 22, 2010 at 7:27 PM, Øyvind Lode <oyvind.lode@xxxxxxxxx> wrote:


           Ch is both a C and C++ interpreter apparently.
           I'll download it and have a look.


           -----Original Message-----
           From: programmingblind-bounce@xxxxxxxxxxxxx

           [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Arthur 
Pirika
           Sent: 22. juli 2010 18:29
           To: programmingblind@xxxxxxxxxxxxx

           Subject: Re: C interpreter

           I've been meaning to try that, also. I've heard it's good though, and
           wouldn't mind a c++ interpreter, if such a thing even exists? lol.

           Arthur
           ----- Original Message -----
           From: "Øyvind Lode" <oyvind.lode@xxxxxxxxx>
           To: <programmingblind@xxxxxxxxxxxxx>
           Sent: Friday, July 23, 2010 3:56 AM
           Subject: C interpreter


           > Hi all:
           >
           > Does someone know a good C interpreter?
           > I'm trying to learn C and I would like a C interpreter to assist 
me.
           > It would be much faster to type some C statements in the 
interpreter and
           > get
           > the output instantly...
           >
           > I know it is very important to also learn to know your compiler, 
but for
           > fast testing of code I think an interpreter is useful.
           > I found one called Ch interpreter.
           > Have someone here used Ch?
           >
           > __________
           > View the list's information and change your settings at
           > //www.freelists.org/list/programmingblind
           >
           >

           __________
           View the list's information and change your settings at
           //www.freelists.org/list/programmingblind


           __________
           View the list's information and change your settings at
           //www.freelists.org/list/programmingblind






    --
    Kerneels Roos
    Cell/SMS: +27 (0)82 309 1998
    Skype: cornelis.roos






    __________
    View the list's information and change your settings at
    //www.freelists.org/list/programmingblind





  -- 
  Kerneels Roos
  Cell/SMS: +27 (0)82 309 1998
  Skype: cornelis.roos

  The early bird may get the worm, but the second mouse gets the cheese!


Other related posts: