• What programming language would you recommend?
    64 replies, posted
[QUOTE=BmB;21807958]I heard it's kludgy.[/QUOTE] Not really. The standard libraries are very slick, and the huge ecosystem is very consistent in terms of how the API behaves, a.k.a. "pythonish". And Python's not "just" a scripting language, like Bash scripting or Batch files in Windows. It's a real programming language, with good OO (although you encapsulate by prepending member with _, which to some may seem inelegant) and a huge community around it. And you can do some pretty slick stuff in it: [media]http://www.youtube.com/watch?v=P_d_JYYvY2w[/media] The only problem there is to it is a lack of good tail recursion (unless you hack in a caching system using @decorators).
I use Python as a calculator with PythonXY, but I hate the fact that I can't see any type errors until the code is actually run.
Well, it's a duck typed language. Just learn to remember what type are the variables you're using, it's not that hard, is it?
[QUOTE=q3k;21809407]Well, it's a duck typed language. Just learn to remember what type are the variables you're using, it's not that hard, is it?[/QUOTE] That's not really the problem. The problem is that something mundane as a typo can be parsed just fine, but error when the actual code is run.
There is no such thing as a "parsing and then running" in python. When you run a script for the first time yes, it gets tokenized to bytecode first (this is where all the .pyc files come from), but usually it is run shortly afterwards, so usually no such differentiation between the two phases is made. I don't understand what you meant.
Strange to see that Java is only mentioned once in this thread. Java is good.
[QUOTE=q3k;21810244]There is no such thing as a "parsing and then running" in python. When you run a script for the first time yes, it gets tokenized to bytecode first (this is where all the .pyc files come from), but usually it is run shortly afterwards, so usually no such differentiation between the two phases is made. I don't understand what you meant.[/QUOTE] By run, I mean when a function is called. Take this: [code]def f(x): c = complex(0,x) return c.imeg[/code] A program could run just fine until it uses that particular function.
Yeah, but it has to be that way, since complex() could get overwritten at any part of the program.
[QUOTE=XCIV;21804811]These threads should always be answered the same.[/QUOTE] It's a recurring question for a reason. There's no definite answer to what people are recommending. There's no definite answer to the "best" beginner language either, if that had been the question. [QUOTE=XCIV;21804811]The options should be presented to the OP and he should choose.[/QUOTE] There are countless options and it's funny how even the OP understands this (hence the well-phrased title), while you seem to be convinced there's only about a dozen programming languages out there. [QUOTE=XCIV;21804811]If you want to become a programmer, over time you will learn all the languages (C/C++, C#, PHP, python, lua, visual basic, ect) so choosing one like its the only language you'll ever learn is pointless. [/QUOTE] You can't, you won't and nobody ever will learn "all the languages". Your starter language [I]is[/I] important because with the wrong first experience you might not get into programming at all. And are you suggesting C and C++ are one programming language? [QUOTE=XCIV;21804811]Where to start? The easiest and most enjoyable place to start is to write something using a scripting language like python, lua, ect. You'll get a feel for the flow of programming without the huge truckload of information that comes with C++ programing.[/QUOTE] Many would probably argue that a language with less focus on abstract concepts and more focus on the actual machinery is a better entry language (I'm not one of them). There's just as much information for a beginner in a language like Python and Ruby as there is with C++, and you'll learn just as much about general programming from either. I don't recommend C++ as a starting language either, but not for bogus reasons like this. [QUOTE=XCIV;21804811]Find a project like GMod, GameMaker, or something similar where you can just start scripting and learn the ins and outs of programming and the associated mindset. Having C++ as your entry point is fairly boring and slow and can make people think programming is worse than it is if its the first language you pick up.[/QUOTE] Why do you keep bringing up C++? It's not the God of "all the languages" or anything even remotely like that. This isn't a forum about C++ programming in particular either. [QUOTE=XCIV;21804811]So overall, you don't pick the language to learn you pick a project to complete and find the best solution for that. Example, I want to make a 2D game. Google 2D game engines and you'll find plenty. Pick one that looks cool and is beginner friendly and go for it.[/QUOTE] I can't think of a non-esoteric programming language in which you can't create a serious 2D game. And you should probably start with something a lot more basic than a game with real-time graphics if you want to learn something. It's not a beginner project.
[QUOTE=nos217;21811158]Java is good.[/QUOTE] Yeah I know, don't you just love it's proper generics, lambdas and operator overloads?
[QUOTE=jA_cOp;21814542]It's a recurring question for a reason. There's no definite answer to what people are recommending. There's no definite answer to the "best" beginner language either, if that had been the question... ect. ect. ect.[/QUOTE] Wow, do you have some sort of high-functioning autism or something that makes you indifferent to common sense? Not only are you an annoying forum rat ja_cop, you practically represent the vast majority of narrow minded nit-wits that scour these forums daily missing the point of people's posts. What I'm trying to get across here is you don't have the slightest clue what my post even says because you're too burdened by your inability to see things in a macro perspective. Picking apart practically every sentence in my post shows this. I wouldn't be pissed if you where the only one who does this. I'm not responding directly to the things you said because I'm not going to explain common sense to you because its something that you cannot obtain. If you don't have it, then I'm sorry. If you do have it, please use it. [QUOTE=turb_;21805358]I hope that was an honest mistake[/QUOTE] Since you're in ja_cop's boat I'll give you a little hint: I didn't mean [b]all[/b] languages. Notice how you lack the common sense to point out the error in your interpretation of my words. If you really thought that I meant learn every language there is in existence, then that means you think I'm a clueless idiot rather then giving me the benefit of the doubt in that I didn't actually mean absolutely every language. Interpreting things people say word for word as literally as possible is a symptom of common sense deficiency syndrome and there is no cure. [highlight](User was banned for this post ("This personal attack on a fellow poster is unwarranted - second ban for flaming in under three weeks" - verynicelady))[/highlight]
[QUOTE=XCIV;21828337]rather then giving me the benefit of the doubt in that I didn't actually mean absolutely every language.[/QUOTE] This is the internet, the only thing for me to go on is the words you post. There's no tone of voice or body language here.
If you read it out-loud it might help you know.
[QUOTE=jA_cOp;21814542]It's a recurring question for a reason. There's no definite answer to what people are recommending. There's no definite answer to the "best" beginner language either, if that had been the question. There are countless options and it's funny how even the OP understands this (hence the well-phrased title), while you seem to be convinced there's only about a dozen programming languages out there. You can't, you won't and nobody ever will learn "all the languages". Your starter language [I]is[/I] important because with the wrong first experience you might not get into programming at all. And are you suggesting C and C++ are one programming language? Many would probably argue that a language with less focus on abstract concepts and more focus on the actual machinery is a better entry language (I'm not one of them). There's just as much information for a beginner in a language like Python and Ruby as there is with C++, and you'll learn just as much about general programming from either. I don't recommend C++ as a starting language either, but not for bogus reasons like this. Why do you keep bringing up C++? It's not the God of "all the languages" or anything even remotely like that. This isn't a forum about C++ programming in particular either. I can't think of a non-esoteric programming language in which you can't create a serious 2D game. And you should probably start with something a lot more basic than a game with real-time graphics if you want to learn something. It's not a beginner project.[/QUOTE] Honestly jA_cOp your posts recently are awfully elitist and generally not even worth reading. Please tone it down and bring back the old jA_cOp full of reason and wonder.
[QUOTE=turb_;21828689]This is the internet, the only thing for me to go on is the words you post. There's no tone of voice or body language here.[/QUOTE] No, excuse, words and sentences can carry deeper meanings. In this case deeper being defined as "not shallower than a rainpuddle on a sunny day".
[QUOTE=XavierStudios;21764413]Never heard of Python or BBC Basic and LUA is generally limited to source. C++ is probably your best bet, seeing as how it is one of the most used programming languages around.[/QUOTE] You should not be giving advice relating to this subject
[QUOTE=q3k;21808935]Not really. The standard libraries are very slick, and the huge ecosystem is very consistent in terms of how the API behaves, a.k.a. "pythonish". And Python's not "just" a scripting language, like Bash scripting or Batch files in Windows. It's a real programming language, with good OO (although you encapsulate by prepending member with _, which to some may seem inelegant) and a huge community around it. And you can do some pretty slick stuff in it: [media]http://www.youtube.com/watch?v=P_d_JYYvY2w[/media] The only problem there is to it is a lack of good tail recursion (unless you hack in a caching system using @decorators).[/QUOTE] imo the only negative point about Python is that it handles whitespace like a retard.
[QUOTE=ButtsexV2;21830626]imo the only negative point about Python is that it handles whitespace like a retard.[/QUOTE] Frankly, I indent in the same way in every other programming language that I do in python: python takes something I do already, and uses it to save me time, and ensure that my code is more readable. Yes, I like meaningful whitespace. Bite me.
[QUOTE=TheBoff;21831250]Frankly, I indent in the same way in every other programming language that I do in python: python takes something I do already, and uses it to save me time, and ensure that my code is more readable. Yes, I like meaningful whitespace. Bite me.[/QUOTE] Agreed, I already define scopes with indentation why bother doing it with brackets as well.
[QUOTE=XCIV;21828337]-meltdown snip-[/QUOTE] I know what you're trying to get across. But if I were completely new to programming, I'd read everything in the completely wrong way and get all the wrong ideas. Your post is rubbish. Get over it.
When first started programming i thought VB.NET was the shit. But when i found CLI for C++ i changed my mind.
When first started programming i thought VB.NET was shit. But when i found CLI for C++ i realised it was only the beginning... I fixed your sentence.
I hope yall realise C++/CLI is one of the only ways to create a .NET wrapper for a native library (apart from P/Invoke)
Of course I realise. It's one of the two ways, well three actually but the third isn't a wrapper really. It's also the worst way.
How about Free Pascal?
[QUOTE=XCIV;21804811] What the fuck? Honestly for as long as I've been alive I've never even seen a chick that could program that wasn't asian... she's asian isn't she...[/QUOTE] You evidently haven't been around for long then, or you live in some primarily male-dominant place?
Python, Clojure, Objective-C, PLT Scheme. Common Lisp is hard to recommend. I'm currently having tons of fun with Smalltalk.
I dunno rate me dumb but i recently started learning C++ and SFML and :iia: it is easier for me.
[QUOTE=Chris220;21877857]You evidently haven't been around for long then, or you live in some primarily male-dominant place?[/QUOTE] I just haven't been in the right scene to be honest (college parties/random jobs aren't the best places to meet these kinds of people). Hopefully I'll get this internship at google this summer and will see some there :P. The pictures on their site look promising.
[QUOTE=XCV;21912176]I just haven't been in the right scene to be honest (college parties/random jobs aren't the best places to meet these kinds of people). Hopefully I'll get this internship at google this summer and will see some there :P. The pictures on their site look promising.[/QUOTE] I guess so. Although, I'm still in the first year of college (I'm 17), and I met my girlfriend nearly 3 years ago, i.e we were both still in secondary school :v:
Sorry, you need to Log In to post a reply to this thread.