Re: New programming language suggestions
by chester (Hermit) on Sep 14, 2005 at 14:01 UTC
|
Haskell may be for you. It's a pure functional language. Certainly interesting in an academic sense. I had to write Pong in Haskell in a class I took. It was entirely different from how I'd ever thought of programming. Different, as in "I want to jam something sharp into my brain", in my case. | [reply] |
Re: New programming language suggestions
by jdporter (Paladin) on Sep 14, 2005 at 14:13 UTC
|
Ditto anyone who said ocaml or haskell. :-)
But, seriously, if you don't already know C, I'd learn that first.
It is extremely useful to have a good understanding of how real (vs. virtual) machines work, to get close to the metal, as they say. C will give you that.
Then I'd learn Java.
Sure, both those languages have syntax similar to each other and Perl... but syntax is the least of your worries. The conceptual model behind each of them is significantly different, yet not so exotic as to be very difficult to comprehend.
| [reply] |
|
But, seriously, if you don't already know C, I'd learn that first. It is extremely useful to have a good understanding of how real (vs. virtual) machines work, to get close to the metal, as they say. C will give you that.
I know some C, as I also wrote here I plainly forgot mentioning it in New programming language suggestions.
Then I'd learn Java.
I don't like Java. More precisely there are some aspects of it that I like, but there are more that I don't like. All in all I think I'd better start over again with C++ and then switching to Java shouldn't be so much of a shock. Except for the different conceptual model behind them to which you refer with your insightful and somewhat unexpected comment.
| [reply] |
Re: New programming language suggestions
by samizdat (Vicar) on Sep 14, 2005 at 14:06 UTC
|
Whee! Time for another food fight!
Try SNOBOL for laughs, it will make you think Perl RegExes are fun light reading.
{long pause}
Okay, next idea. FORTH is the genesis for the OpenBOOT initiative which underlies some recent system boot processes including Sun & FreeBSD. Imagine a coding system which can give you a complete interactive console-based IDE in 2K bytes booting your entire modern PC!
The suggestion has been made many times, but I'll echo it. Learn C and make and study the source code of FreeBSD or Linux... so much to learn!!! | [reply] |
|
Okay, next idea. FORTH is the genesis for the OpenBOOT initiative which underlies some recent system boot processes including Sun & FreeBSD. Imagine a coding system which can give you a complete interactive console-based IDE in 2K bytes booting your entire modern PC!
Indeed a friend of mine asked me if I knew any (thing about) FORTH, since he discovered it is at the basis of the boot system of his mac. I'm not sure if it's exactly the same thing as you're talking about, but it sounds like it is. I'll check your link ASAP.
The suggestion has been made many times, but I'll echo it. Learn C and make and study the source code of FreeBSD or Linux... so much to learn!!!
Oh C... I thought my fist post was quite comprehensive, and I forgot nothing the less than C!! Well, I used to know C, and C++, but it's over a decade I don't touch them any more. Indeed I do want to re-gain at least some confidence with them, but one of the main reasons why I want to is to learn XS programming. So this is a separate issue...
| [reply] |
|
Mac OS X is Free/NetBSD wrapped around a Carnegie-Mellon MACH kernel. Yes, it is OpenBoot.
| [reply] |
Re: New programming language suggestions
by Ovid (Cardinal) on Sep 14, 2005 at 18:24 UTC
|
For something rather radical, try Prolog. It's a logic programming language. As such, instead of telling the computer how to solve a problem, you tell it what the problem looks like and it figures out how to solve it. You can also install my pure Perl Prolog implementation AI-Prolog to get a simple Prolog shell and programming environment.
Later, you can check out SWI-Prolog for a full-featured implementation. The Amzi! Prolog folks also offer a great (and free) online Prolog tutorial. By the time you're done, you'll have built several Prolog programs and get a good idea of how the language works.
In fact, one nice thing you'll note is the ability to change the syntax on the fly. That combined with built-in grammars allows you to type in natural English (or whatever your preferred native language is) and still get things done.
| [reply] |
|
Seconded, but for a broader reason.
Learn languages which are not merely procedural. Most of the languages simply describe the way to structure data and manipulate data. Essentially, they lay out the opcodes which the machine will execute in order. Go for something that diverges from that: do things with logical, declarative, inference, numerical, symbolic, even visual languages. At the very least, you'll gain insights on how to express procedural code which solves problems more effectively.
-- [ e d @ h a l l e y . c c ]
| [reply] |
|
I second that too. I have "obviously" (due to my studies) some experience with TeX, and in particular with LaTeX which are markup languages, but to a large extent less "static" than more common *ML ones. I also tried MetaPost to draw some graphs, and I noticed it has some declarative features, e.g. a point can be defined implicitly in terms of the intersection of two straigh lines. Quite a niche application, but interesting indeed...
| [reply] |
Re: New programming language suggestions
by 5mi11er (Deacon) on Sep 14, 2005 at 14:36 UTC
|
Back in college around, oh, '90, I took a class on the Icon programming language. For me at the time, it was quite eye opening that a language could be so powerful yet not very verbose. I'd been mainly doing C upto that point. So, I think it is very probable that my introduction to Icon was somewhat responsible for my getting sucked into perl as quickly and as fully as I did.So, I'm not sure if it is different enough from C or perl as you would like, but it was partially derived from the above mentioned SNOBOL, so although it looks similar (to c and perl), I think it has enough differences that you might at least find it interesting.
-Scott
Update: made it more clear as to what Icon looked similar to. | [reply] |
|
Icon was Ralph Griswold's next crack at a language after SNOBOL5. He was a prof at U of Arizona when I was there and one of his students was the teacher of a comparative languages course and he threw SNOBOL at us. I was a frosh and this was a 272 course, but comparing Pascal to LISP to APL to SNOBOL to CDC6400 assembler was awesome. Quite the brain-stretcher, it {SNOBOL} was all about pattern matching. Many functional and logic programming languages take elements from SNOBOL, as do RegEx engines.
| [reply] |
|
comparing Pascal to LISP to APL to SNOBOL to CDC6400 assembler was awesome
Has a similar 200 level course at my undergrad. The year I took it was quite good. A couple of years afterwords, a new prof took over the course, and to limit the amount of year to year code reuse (ahem), he mixed up the program assignment and the language. For example, instead of coding the missionary and cannibal program in Lisp, he had them do it in Snobol. There was much wailing and gnashing of teeth :-|
| [reply] |
Re: New programming language suggestions
by Anonymous Monk on Sep 14, 2005 at 15:11 UTC
|
If you want to learn different language syntax, then Python and Ruby are the way to go. If you want to learn more about programming in general, then you should try something different than a object based imperative scripting language. Haskell is different because it is pure (doesn't have side effects), so it can be evaluated lazily. And the execellent static type system is much different than Perl. Prolog is nice, because you mostly write down what the problem is, and the compiler figures out how to solve it. Scheme is wonderful for its minimal syntax, which enables you to really take advantage of programs that write programs (macros). | [reply] |
Re: New programming language suggestions
by japhy (Canon) on Sep 14, 2005 at 15:12 UTC
|
I really like Befunge. I haven't done anything with it lately, but it will open you to a whole new dimension of programming. Pun intended. Seriously, it's really fun.
| [reply] |
Re: New programming language suggestions
by gri6507 (Deacon) on Sep 14, 2005 at 16:03 UTC
|
Even though C does not meet many of your criteria, I'd say that learning it would probably be most useful (especially down the road). As for more academic languages, I don't think you can get much more theoretical than a Turing machine. There is actually a language called BF (I'll leave the acronym decoding as an exercise for the reader) which implements a Turing machine. I found BF very interesting to learn and understand. | [reply] |
Re: New programming language suggestions
by rvosa (Curate) on Sep 14, 2005 at 22:14 UTC
|
I would like to learn LISP, or in any case eLISP (and finally learn how to use emacs effectively in the process). I don't know anything about either yet, other than that it's "functional programming" and that it involves a lot of parentheses. It looks like quite a different paradigm, so I'm interested in at least wrapping my head around it a bit. Perhaps you will too? Good luck! | [reply] |
|
Indeed The same person I mentioned in here suggested either Scheme or "if I dare" Common Lisp, also suggesting upon a further request of mine
- CLISP: "light and 'simple'",
- SBCL: "fast and powerful. But also complex",
as implementations, and
as learning resources; and The CHICKEN Scheme Compiler for Scheme.
| [reply] |
|
| [reply] |
Re: New programming language suggestions
by nothingmuch (Priest) on Sep 15, 2005 at 01:51 UTC
|
I've been having lots of fun with haskell and forth lately. I'd reccomend looking into them because they encompass a *HUGE* spectrum of compsci concepts - from the highest level functional stuff, down to threaded code compilation, being such elegant and simple languages.
| [reply] |
Re: New programming language suggestions
by rruiz (Monk) on Sep 14, 2005 at 14:28 UTC
|
| [reply] |
Re: New programming language suggestions
by holli (Abbot) on Sep 15, 2005 at 06:51 UTC
|
| [reply] |
|
I knew Ook! but I prefer COW, and I am aware of quite a few other "exotic" languages including, but not limited to HQ9+ and the (far more than) pythonesque Whitespace.
| [reply] |
Re: New programming language suggestions
by Mark_UpLanguage (Sexton) on Sep 15, 2005 at 14:24 UTC
|
Lisp is a programming language that still has a good support community. It's a different way of thinking and programming and will broaden your horizons about what's really the best tool to use for a job. Additionally I'd say that smalltalk, which has morphed into squeak as a completely OO language. Google for each of these to find starting points and communities of support. | [reply] |
Re: New programming language suggestions
by Gavin (Archbishop) on Oct 08, 2007 at 17:45 UTC
|
Tongue firmly in cheek
Just found this node today, and thought you may now be looking for a further language to learn.
May I suggest the following.
Many people find this too difficult to learn and use a
translator .
You may like to "larn" this to augment your already accomplished linguistic skills!
A
dictionary is at hand if required!
| [reply] |
|
Many people find this too difficult to learn and use a
translator.
Funny! I must say that one of the links you provided mentions that they are "sometimes wrongly but understandably mistaken for Scots" ("or Irish [...]") Well, I must say that having read Trainspotting in "English" I notice some similarities between its anglicized Scots and this Geordie. Actually, after having finished the book, it was relatively easy to compose some simple phrases (hopefully) in its style. Indeed I remember having written one such remark (link @ GG) in answer to a troll (yeah, yeah, I know) in clpmisc. To quote myself:
On 4 Sep 2006 14:11:14 -0700, "Skybuck" <skybuck2000@hotmail.com>
wrote:
[loads ay shite]
Oh ma perr wee lassie! Hud ah kent ye wir such a lurvely cunt ah
wid've joined yir cyberwar n aw fir sure, likesay. Sae long...
BTW: you can insert links more easily with PM's shortcuts, e.g. [http://www.geordie.org.uk/|translator] will render as translator. | [reply] [d/l] [select] |
Re: New programming language suggestions
by Cop (Initiate) on Oct 08, 2007 at 18:30 UTC
|
You made it sound like Ruby is close to Perl. The only thing close is the sigil. I would rather say that Ruby is close to Python, Java and C#.
Want something quite different, Haskell and LISP are in order.
Want something OO? Learn all of them: SmallTalk, Java, Ruby, C#, C++ and see the different flavors.
| [reply] |