# Computer language showdown!



## AdmiralAK (May 4, 2002)

Well as I sit here thinking of what to learn next (in term of scirpting, markup, and programming languages), I was thinking of what I know, and what I want to know

so here is what I know:
ANSI C (it sux sux sux!!!), Java, BASIC, HTML (can this be considered a language ?), Javascript, and WML.

what do I want to learn?
obj-c (hope it does suk suk suk like ANSI C ), coldfusion, XML (sounds like a vince McMahon brain child ), hmmmm what else?  I know I will be learning LISP in future classes and PERL as well.


What do you guys knonw?  what do you want to know ?  What do you recommend??? (what do you strongly advize against ?)

I strongly advize against ANSI C lol....at least get some automatic garbage collection and mem allocation dang-nabbbit  he he he


----------



## Trip (May 4, 2002)

I suggest learning perl. It's easy and pretty useful for most things!

I'm still working on BASIC, though I have it mainly down. I know quite a bit Obj. C and I'm working on my C++, though I'd love to completely know it! I'd also love to learn a bit of Java/Cocoa...if I ever get the time.


----------



## nkuvu (May 4, 2002)

I second the motion for Perl -- it's a very useful language, and one that I use a lot for home programming projects.  For example, I downloaded all of the images of Calvin & Hobbes from UComics using a Perl script, and then created simple HTML pages with another Perl script.  I now have just about the whole series locally, so I can read it again and again and again and again without being online. 

Oh, I got a little sidetracked there.  Sorry.

As far as scripting languages, you might also want to learn PHP.  I hesitate to suggest ASP, but you might want to at least look at it.  Most of the people I know who graduated with strong web programming skills got better jobs than those of us who don't, even if their job is not web related.

Lisp is also a good choice.  I like Lisp and Scheme a lot, I think they're both very elegant languages.  The problem is convincing everyone else that even though they use a lot of recursion they don't consume nearly as much in the way of resources as recursion in C/C++.

HTML is a language, but not a programming language.  Hyper Text Markup Language.  It's considered a formatting language.

For learning about the internals of the computer I suggest Assembly language.  I took Assembly on the x86, so I really don't know what it's like for PowerPC processors, but it gave me a very good idea of what happens when I type 'printf' in C.

I think once you learn Assembly you might have a greater appreciation for C/C++.  You also have to consider that C is a language that was developed in the 70's IIRC.  So a lot of things you take for granted in current languages (memory allocation, garbage collection, etc) were not things they were thinking of.  Heck, C doesn't even have built in string data types!  I can think of many languages that I dislike a lot more than C.  Basic, for example.  Python is another.

Since you already know C, I'd also suggest C++.  It's mostly the same, but also adds class functionality as well as a few other things.  The majority of the computer industry is currently programming in C++, so it is a good thing to know.

Another highly sought language is SQL.  Big companies use databases a lot, so Access (ick!) skills and SQL skills come in handy.

So in summary:  For enjoyment I'd choose Perl and Assembly (yes, I think Assembly programming is enjoyable).  For marketability I'd learn PHP, C++, and SQL.


----------



## bighairydog (May 5, 2002)

Strange that you have neither PHP nor ASP on there. I'd add PHP and perl to your list - PHP because it is the best language in existence, and perl because it's so syntactically similar to PHP that you might as well.

I agree with nkuvu about looking at ASP, but only long enough to learn a lesson in how not to make a scripting language. I *hate* languages that use the
	
	



```
If question Then
   action
End If
```
Uurgh - how horrible, give me { } pairs and day.

Bernie     )


----------



## nkuvu (May 5, 2002)

bighairydog, I agree with you 100%.  This is why I dislike Python as much as I do.  The blocks of code are delimited by _whitespace_.  Not even an 'end if'.  Have you ever had a long if clause that spans more than one page?  Then have a bunch of nested things (loops, if's, whatever) and try to match them up with the indentation above.  "Let's see, does this line go in this block, that block, or is it a brand new block?  If it's a brand new block, was that a typo?"

The other thing that irritates me about Python:  When I read the style guides for Python, I kept reading that "Guido hates this, so you can't do it.  Guido doesn't like it like that, so you can't do it.  Guido really flips out when you do this-other-thing, so you can't do it."  For anyone who doesn't know, the Guido in question is Guido van (von?) Rossum, the creator of Python.  The Perl style guides have things like "Larry like this, but do it how you want.  Larry usually types it out this way, but whatever is good for you.  Larry prefers this format, but hey, it's your code."  The Larry in this case is Larry Wall, creator of Perl.

Thanks, Larry!

Oh, sorry.  Was I ranting out loud...?


----------



## iconara (May 9, 2002)

Yes, Perl is a good language to know. It's the mother of all ugly hacks.

Another language that no one mentioned is Ruby, which is sort of Objective-Perl. It's interesting and worthwile learning.

The same for Python. Python is a very good language in my opinion.

Myself, I would like to know Lisp and Smalltalk. I collect programming languages, the more I know, the better.


Theo


----------



## dlookus (May 9, 2002)

I'm a pseudo-programmer. I know Lingo and Actionscript. I'd like to get into programming Game apps. Any suggestions?


----------



## PeyloW (May 11, 2002)

Am I one of the few who really enjoy ObjectPascal?
One of the few language that is consistent (hint hint C/C++),  highly modular for larger projects and short learning time while still being very powerful.

To bad I can not enjoy it on my mac (As of yet I hope signing this could help)

But at the end of the day Asmebler is most fun. Motorola 68k winning by large, PowerPC quite manageble while intel x86 is just a pain in the ass.


----------



## konan (May 12, 2002)

Ansi C (and C++) all the way man! If you know you C, you can program anything, anywhere on any platform.

Konan

p.s. My first love was Pascal though (turbo Pascal for DOS)


----------



## PeyloW (May 12, 2002)

konan if a platform runs gnu compiler collection (gcc) then it runs gnu pascal. So pascal is also quite everywhere. To bad that most class related features are not implemented . Oh well free pascal is on the way with official support for i686 and m68 and unsupported support for PowerPC and SPARC (As in binarier not provided and at your own risk).

But the best programming language is still to come, I am considering writing a compiler frontend for a homebrew language to gcc as graduation work. Think it shall be called P++. Some mock over C, C++ and pascal. Pascal module framework, C like syntax, Pascal pointer arithmetics and oo as in C++. Quite a good mix I think.


----------



## hydo (May 12, 2002)

What I know:

Perl is my general purpose language.  If I need to whip out a quick utility, this is what I use.  This language is going to be amazing when 6.0 comes out.  If you do decide to learn Perl, go check out http://www.perlmonks.org.  You can learn a lot there.

C - Same as above if raw speed is an issue.  C is great if you take the time to learn it.  The lack of garbage collection is kindof the point.  Sure, in Java, you dont have to worry about it.  Then again, that's why well written code in C will beat the same code written in anything else save assembler for speed and efficiency every time.

C++ - I like it though since I was raised on C on solaris I dont like to admit it.

As far as ASP and PHP go, check out HTML::Mason.  It's Perl.  It's not ASP.  It's awesome.  Personally, I dont really like PHP and dont care to learn ASP.  http://www.masonhq.com

What I want or dont want to know:

I will have to be dragged to Obj-C kicking and screaming.  I dont want to give up C++ on macos for anything.  I haven't dug too deep as i'm busy with a project at the moment but it looks like I can do most, if not all of, Cocoa in C++.  Is this correct anyone?

I have heard Ruby and Dylan are pretty cool but I haven't had the time to check them out.

Comments:

It has been my experience that any language that is really easy to learn and write complex programs in (like Java) will produce code that is very resource hungry and cpu intensive compared to a lower level language like C and to a slightly lesser exetent, C++.  A comparison that comes to mind is Limewire.  It runs ok with the default settings but if you bump your max connections up to around 20 it starts to bog way down.  On the other hand, if you use one of the clients written in C++, it takes considerably more effort to get the same kind of speed degradation.

Another quick IMHO: I would strongly recommend to anyone who wants to code professionally to start with C.  Yes, C can be a major pain in the ass as a first language, but it forces you to learn how to do things like garbage collection and memory management.  Knowing the thought processes and the procedures for tracking this kind of stuff will help you later on no matter what language you settle on.  But then again, that's just my opinion.


----------

