6 ms·
The point about learning more languages that are different from one another seemed interesting. I know that knowing more languages makes you better, so i wish t
by pavelludiq 18y ago
The point about learning more languages that are different from one another seemed interesting. I know that knowing more languages makes you better, so i wish to learn more. I know python and started to learn scheme, can any one suggest me a 3-rd language?
- KirinDave 18y agoRuby. Especially if you know Python, take the time to really learn Ruby.
- hugh 18y agoRuby really isn't sufficiently different from Python to make it a worthwhile third language, is it? Maybe a sixth or seventh language, after C, C++, Erlang, f77 and Assembly.
- pavelludiq 18y agoyeah, i started to read a ruby tutorial and in 20 minutes i stopped, i might learn it if i have to. I do own a K&R ANSI C, and i thought of reading it, but didn't find low level programing as fun as python. I will learn it eventually, but i won't learn assembly, C is as low level as i will go. I've been thinking of learning smalltalk any opinions?
- hugh 18y agoI do own a K&R ANSI C, and i thought of reading it, but didn't find low level programing as fun as python. I will learn it eventually This is why I reckon it's better to learn C before you learn any of the higher-level scripting-type languages. Same reason you should learn to drive a manual before you learn to drive an automatic. (Of course in both cases I'm just advising people to do the same thing that I did, which is always the weakest form of advice.)
- qwph 18y agoLearning Smalltalk is a great idea, but be warned - its workflow is very different to most other languages (for example, it doesn't really have a command line in the same sense that Ruby or Python does). If you can get over the first couple of weeks of frustration, you'll probably learn a lot.
- eru 18y agoYou can always learn assembler (sort-of) by playing Core Wars (http://en.wikipedia.org/wiki/Core_Wars http://en.wikipedia.org/wiki/Core_Wars). "Core War (or Core Wars) is a programming game in which two or more battle programs (called warriors) compete for the control of the MARS virtual computer (Memory Array Redcode Simulator). These battle programs are written in an abstract assembly language called Redcode. The object of the game is to cause all processes of the opposing program(s) to terminate, leaving your program in sole possession of the machine."
- KirinDave 18y agoI disagree. Ruby is, on the surface, not very different from Python. But in terms of philosophy, coding style, and community it is like night and day. There is more to a language than syntax and core libraries. Every language uniquely expresses its communities particular bias on How To Solve That Hard Problem. In this regard, Python and Ruby could not be more diametrically opposed. Ruby values elegance and terseness, sometimes to the detriment of readability. Python actively eschews some elegant features to ensure readability. They feel very different. If you want something more esoteric to teach you more purist OO (of which Python is definitely not), then Smalltalk would be the next step forward after Ruby.
- j2d2 18y agoFrom my limited experience with Ruby, I'd say it would be a step backwards for someone who knows Python. It will largely show them how things are done awkwardly in another language while attempting to solve similar problems. Something like C, as other posts have suggested, would teach a lot more in the same period of time. I don't mean to diss Ruby too hard, but I don't see the points here as strong enough to detract from an argument for learning C.
- pavelludiq 18y agoI also have some limited knowledge of ruby and i decidet not to learn it yet because i just don't like how it feels. I noticed that there are a lot of method calls in the tutorial i read. Something like object.method1.method.2 and from python i know that if you have more than one dot, you are mistaking somewhere. It might not be a mistake in Ruby, i know its supposed to look like UNIX pipes, but it just doesn't feel right. I wouldn't call it a step backwards though, for someone it might be, but for others ruby is superior, i just like python better and i will learn ruby some day. But for now C it is, but i will read my scheme book to the end first(its only 99 pages long).
- eru 18y agoYou can use more than one dot in python. (Or is it bad style?) You can even use more than one pair of parens sometimes: fun()() (If fun returns a function.)
- gommm 18y agoPLay with prolog a bit too... I find that it's a nice way of learning to think differently about a problem.
- PieSquared 18y agoC. Or some form of assembly. Both of them get you closer to the hardware than any high-level language would, and it's important to know what scheme and python and any other language are really doing for you automatically.
- eru 18y agoC is a nice third-language indeed. (And you will be glad you did not do it as a first.) You do not need to care for C++ much now.
- derefr 18y agoIndeed; by the time you do, it might have been usurped by D.
- hugh 18y agoDefinitely. I hate to sound like an old curmudgeon (especially since I'm only 28) but it's scary the number of people nowadays who call themselves programmers but have never even had to worry about allocating memory.
- eru 18y agoYes, all those 60 year old Lispers.
- zenspider 18y agoNo, don't do a 3rd language yet. Learn scheme well.
- eru 18y agoFor example by implementing Prolog in it? Prolog seems to be the favorite embedded language of Lispers (Graham, Norvig).
- zenspider 18y agoHonestly, I'd just say "get past started" for now... But yes, implementing prolog would be great... Check out the Reasoned Schemer... but only after Little and Seasoned.
- eru 18y agoTrying C and implementing a Scheme in it would teach a lot about C and Scheme as well. It is sort of like learning Haskell and Scheme simultanously with "Write Yourself a Scheme in 48 Hours - A Haskell Tutorial". (http://halogen.note.amherst.edu/~jdtang/scheme_in_48/tutorial/overview.html http://halogen.note.amherst.edu/~jdtang/scheme_in_48/tutoria...).
- zenspider 18y agoVery true, and good advice... I just want them to not dilute too much and learn the language at least enough to decide if they like it or not.
- silentbicycle 18y agoC for low level stuff, Objective Caml after you feel confident after C.