Languages worth learning...?

Programming, for all ages and all languages.
User avatar
elderK
Member
Member
Posts: 190
Joined: Mon Dec 11, 2006 10:54 am
Location: Dunedin, New Zealand
Contact:

Languages worth learning...?

Post by elderK »

Hey folks,

I'm not sure why, but I'm on this odd... Objective kick at the moment.
And, I don't mean C++ or Java objectivey

I mean like, Objective-Cvy.
or, Smalltalky.

And, I was wondering, How many people program in a kind of... niche language?
Like D or Eiffel.

And, if possible, if anyone can recommend a nice and actually useful language for me to
learn?

C is getting a little boring.
~Z
User avatar
Zacariaz
Member
Member
Posts: 1069
Joined: Tue May 22, 2007 2:36 pm
Contact:

Post by Zacariaz »

i cant recoment any langs besides c++, but C and ASM is a MUST if you ask me. (i my self have great trouble with C)
User avatar
elderK
Member
Member
Posts: 190
Joined: Mon Dec 11, 2006 10:54 am
Location: Dunedin, New Zealand
Contact:

Post by elderK »

C is no big deal, it is simple, clear.
Minimal. Most of the time, it doesn't require jack to execute freestanding.

I want to learn something that is actually worth learning, something that I can use. Im just having a hard time finding anything seriously... awesomacious that I can see being useful.

I mean, Objective-C is cool, no doubt but... I dislike having to inherit everything from a core root class. :P What if I dont want to use the stock core root class? :P

Im pretty sure if you really wanted to, you could almost go down a 98% object-orientated route with C++, after all, it is a multi-paradigm language. Just because it can act just like C doesn't necessarily mean programs should be written in a Cish way. I guess?

Sorry, its 7am, I have class in about... 20 minutes.
Smokin' cigarettes, drinking coffee and feeding my kitten.
;) You know, the usual University drill.

Who knows, maybe im just burning out from code.
~Z
User avatar
Zacariaz
Member
Member
Posts: 1069
Joined: Tue May 22, 2007 2:36 pm
Contact:

Post by Zacariaz »

i dont dnow much about C# but it seems to me that is waht you are looking for, anyway gl.
User avatar
Alboin
Member
Member
Posts: 1466
Joined: Thu Jan 04, 2007 3:29 pm
Location: Noricum and Pannonia

Post by Alboin »

As suggested to me previously, I would suggest Scala. It's quite interesting and unusual. Moreover, you can use Java libraries, so it's not as if you're being forced to use some libraries from '88. (*cough*Lisp*cough*)

My only complaint with all of these languages is their environment. I don't want to have to have 10mb of libraries to run my program. It should be freestanding. If someone came up with a scala-like language that produced executables the size of C, without any environment, I would switch to it, and never look back. So far, I've found nothing.
C8H10N4O2 | #446691 | Trust the nodes.
User avatar
JackScott
Member
Member
Posts: 1031
Joined: Thu Dec 21, 2006 3:03 am
Location: Hobart, Australia
Contact:

Post by JackScott »

I've done little more than play around in Forth, but from what I have done, I quite like it.

I haven't used it for any projects, so I can't give it a thorough review. Just thought I'd throw it in there.
User avatar
hailstorm
Member
Member
Posts: 110
Joined: Wed Nov 02, 2005 12:00 am
Location: The Netherlands

Post by hailstorm »

I suggest MODULA-2, a pascal-like language. Also developed by Mr. N. Wirth. A nice structured language, wherein keywords should be written in capitals. That can keep you busy for a while. :)
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Post by Solar »

My line of thought is this: Within a family of languages, there are usually only variations on a common theme. From a career POV, it is of course helpful to know not only C++, but Java and Objective-C as well, but as a perspective, you have nailed the subject with the first language already.

That being said, if I had the time, I'd learn LISP. Not to actually write software in it, probably, but to widen my horizons; it is radically different from any of the classic mainstream languages.
Every good solution is obvious once you've found it.
Zekrazey1
Member
Member
Posts: 37
Joined: Sat Mar 10, 2007 8:28 am

Post by Zekrazey1 »

Haskell is popular these days :P.
User avatar
AndrewAPrice
Member
Member
Posts: 2299
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Post by AndrewAPrice »

Solar wrote:That being said, if I had the time, I'd learn LISP. Not to actually write software in it, probably, but to widen my horizons; it is radically different from any of the classic mainstream languages.
I've taken up Common Lisp. VERY different.

If your interesting in something (another programming language or just anything like SystemC or PL) and can't find any good tutorials then try Wikibooks. You're sure to find tutorials starting from setting up your basic environment to beginner/intermediate tutorials.
My OS is Perception.
User avatar
AndrewAPrice
Member
Member
Posts: 2299
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Post by AndrewAPrice »

About Common Lisp:

It's really cool how you functions are basically just commands stringed together. It's like this in every language but Lisp makes it so much more elegant. Like running your entire program just by calling (MyFunction) in the interpreter and imagining the computer translating this into hundreds of thousands of commands all stringed together within those parenthesis.

Anyway, if I have

(defun someFunction () .......)
(defune anotherFunction () ......)

how do I call anotherFunction from someFunction and vise-versa? I haven't found the Lisp equivalents of prototypes yet.
My OS is Perception.
Smilediver
Member
Member
Posts: 37
Joined: Sun Aug 05, 2007 4:23 pm

Post by Smilediver »

I'd recommend C#. It's really very nice language, and I think it will replace C(++) and Java someday (I hope so :-) ). Also I think it's good to have a look at lisp family, because learning it will make you think a bit different (or not ;-) ). You can also try to check out Python. I had some experience with it, but somehow I feel that hype surrounding it is a bit over the top...
User avatar
AJ
Member
Member
Posts: 2646
Joined: Sun Oct 22, 2006 7:01 am
Location: Devon, UK
Contact:

Post by AJ »

Trinka wrote:I'd recommend C#... I think it will replace C(++) and Java someday ...
I think that's quite a bold statement - I can certainly see that C# has its place (I use it quite a bit, but not for OS dev) but really hope it never replaces C or C++. All three have merits for different tasks.

Cheers,
Adam
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Post by Solar »

Virtually every "new" language starts out with the claim that it will "replace" the other ones over time. The demise of C++ was already heralded when Java came up, yet C++ is still around, and for a reason.

What this usually leads to is that the new language rides the hype, gets used in areas where it simply isn't the best choice available, and gets some dents in its shiny hull as a result.

In my theory the number of people programming in a given language is more or less constant. The fact that new languages tend to get such a big market share is because ever more people do program at all.

This usually means you'll find the worst (inexperienced, overexited) programmers in the communities of the latest programming languages...
Every good solution is obvious once you've found it.
Smilediver
Member
Member
Posts: 37
Joined: Sun Aug 05, 2007 4:23 pm

Post by Smilediver »

I really don't want to get into language war, but I'll just state some opinions of mine.
AJ wrote: I think that's quite a bold statement - I can certainly see that C# has its place (I use it quite a bit, but not for OS dev) but really hope it never replaces C or C++. All three have merits for different tasks.
Well, as I said it's IMHO. And it wasn't an assertion that it will replace C(++) completely. C(++) will stay around for tasks where you actualy need more low level stuff. I would add raw speed to this, but as CPUs advances, it's becoming a small concern.

I come mainly from C(++) background, but recently I've been using C# a lot. From my experience C# is way more better for most of the tasks you need to do. It has all the best features from C(++), Java and other languages, there's also a lot of usefull additional features, it dropped all the bad things that C(++) had, etc. I think it's a hudge step forward and a perfect language for mainstream development. I really can't see any reasons you'd want to stick with C(++) after trying C# (apart if you need to chose it, because of some other constraints, rather than the choise based on language features).
Virtually every "new" language starts out with the claim that it will "replace" the other ones over time. The demise of C++ was already heralded when Java came up, yet C++ is still around, and for a reason.
True, true... you never know. But I think C# is way in a different boat than Java. I see it as a C(++) successor, it's backed by a powerfull .Net technology, and it's Microsoft that is behind everything. And as we know, it knows how to push the stuff to the public. :-)
Post Reply