[LUGSB] What do you think would be a good "first programming
language", and why?
Charles P. Wright
cwright at ic.sunysb.edu
Thu Dec 11 09:23:18 EST 2003
I agree with Vinay about learning C and learning C well. In my mind,
there three are very important reasons to learn C aside from the syntax:
(1) C has pointers. You need to learn how to treat memory as an array
of bytes. If you go from Java to C, you'll just have to learn this
later and people get mightily confused.
(2) C doesn't have garbage collection. You should learn how to write a
program while cleaning up after yourself.
(3) C uses system calls. If you want to learn about the system on a
lower level you need to use system calls.
C++ is yucky. If you want to learn an OOP language then Java is much
cleaner.
That being said. The advantages of learning Java instead of C are:
(1) Java has references instead of pointers. You don't have to learn
about pointer arithmetic.
(2) Java has garbage collection. This makes things easier.
(3) Java is cross platform, so you don't need to learn system calls.
(4) Java has a huge stock library. If you need a hash table, there is
already one there for you. Same thing with trees, and even more.
I wouldn't consider spending much time on anything else if you want to
learn how to program. Perl is useful for quick hacks, but the syntax is
awfully complex and obtuse. Lisp is only useful for CSE307 and editing
your .emacs file. Shell is only really useful if you want to glue
existing programs together.
Chip
Disclaimer: I am a C bigot, and haven't programmed anything big in
another language. (I have done class projects for CSE214,219,305, and
others, but my DB project would have been the biggest at around 5k
lines.)
On Thu, 2003-12-11 at 03:26, Vinay Pai wrote:
> I would strongly recommend C. Many modern languages derive their syntax
> from C, so you'll be learning a lot more than just one language.
>
> That said, I think its more important that you learn ONE language very
> well, whatever that language may be. Ideas regarding how to structure
> programs, how to accomplish common tasks etc. are far more important than
> learning the syntax of a language. Those things only really come with
> experience. Once you have those things straight you ought to be able to
> pick up a book or tutorial and learn any new language in a matter of days
> or weeks.
>
> Vinay
>
>
> On Wed, 10 Dec 2003, Anwar A Ruff wrote:
>
> >
> > Hello guys,
> >
> > I briefly brought up during the last meeting, a question of, what would
> > be a "good" first programming language to learn? Yes, I know, this is
> > subject to your opinion, but as a novice good advice is scarce -- with
> > the exception of LILUG of-course. Any and all suggestions are greatly
> > appreciated.
> >
> > Listed below is my previous programming experience:
> >
> > -- very little shell scripting (bash)
> > -- sadly, VB.Net (I can hack a small program)
> > + specifically, I have an understanding of subroutines, functions,
> > and loops (if, while, case)
> >
> >
> >
> >
> > Thanks,
> > Anwar
> >
> >
> >
>
> _______________________________________________
> lugsb mailing list
> lugsb at fsl.cs.sunysb.edu
> http://www.fsl.cs.sunysb.edu/mailman/listinfo/lugsb
More information about the lugsb
mailing list