Okay.. So.. What language(s) to learn?

Started by
14 comments, last by CC Ricers 11 years, 8 months ago

[quote name='Serapth' timestamp='1344456838' post='4967512']
[quote name='Monkayy' timestamp='1344455689' post='4967503']
[quote name='Serapth' timestamp='1344454652' post='4967497']
Not PHP. Anything but PHP!

As you are just starting out, picking one language is ideal. Keep focused as best you can.

This guide should help you choose.

But isnt Nationstates in effect just a series of dynamic webpages which is the point of PHP?
[/quote]


You know what, I know NOTHING about Nationstates, and I still realize that PHP is not the solution!

PHP is a bastard of a language and should go the way of the dodo. If you have a game that is basically a series of dynamic web pages, use something else... I would suggest Node/Express/Javascript personally in that case.
[/quote]
Okay, I am new and you have a good reputation so I trust you smile.png How much does javascript have in common with java? (just wondering). This video explains Nationstates very well if that would help my question (it is 6mins long but if you skip through it you can still get the idea)
[/quote]

To add to this, PHP is in fact all you need, it just is a horrible, horrible mess of a language(The only common web backend option i can think of that is more painful to work with would be ASP(the old one, not .Net, The general suckiness of the old pre .Net ASP is also the main reason why PHP got popular, it was the lesser of two evils back in the day, today there are plenty of better options to choose from), There are hower two really good reasons to use it even today:
1) There is a crapton of PHP code out there under permissive licenses that you can reuse for various purposes.
2) If you pick a random extremely cheap webhost odds are really good that they do support PHP but nothing else. (big webgames tend to need a more expensive host anyway though).

Personally my favourite for web development is python+django but i do use PHP alot, simply because it has been around for so long that it gets hard to avoid it completely.

JavaScript is , much like PHP quite a nasty language but for the frontend you don't have much choice, JavaScript is the only real option for dynamic web frontends (unless you go with some browser plugin solution but then your frontend is more of a traditional application that just happens to be embedded in a browser). (Java is, as has allready been mentioned a very different language (Both languages have C-style curly braces and the word Java in their names but thats pretty much where the similarities end (Java is a reasonably good language)
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
Advertisement
In some regards JavaScript gets an unfair rap, because the DOM is such shit and people equate DOM == Javascript, which for many I suppose is true.

The language has its faults, its far too easy to create a global or mute an existing variable, there is a lack of needed data hiding abilities and the this pointer is a mess. That said, if you use Javascript with a good library, or outside the web browser, it can be a remarkably capable language. The data as code as data nature of JSON is freakishly powerful for example.

The lack of a solid IDE ( i use WebStorm and love it, but itcosts $ ), the webcentric nature of tutorials and a few horrible design features of the language do make it difficult to recommend to new devs though. To devs that have used it only for client side web programming, I recommend you give JavaScript another look.
Why does your game need to be playable in a browser. If your looking to make a clone or generally similar game it may be easiest to write it as a traditional game where it will be easier to get help. Python+Pygame would make a fine choice, as would C# + XNA or half a million other languages and frameworks. C++ with SDL or SFML would also do it, only issue here is the general difficulty of C++ compared to other languages, as a beginner it is possible to dive in head first with C++ but its generally easier to stick to something like Python for your first language. The knowledge learnt in python can then be applied to other languages later on. You might even find that you never need to learn C++ (its still on my todo list)
I contacted the developer and he said the whole game was written in Perl
ASP.NET MVC, its fast, clean, easy framework to work with, works nicely with jQuery and you can take advantage of C# too, honestly I would stay away from ASP.NET and use ASP.NET MVC, as for PHP, well I could probably spend hours criticising the language the programmers who compliment it and the reasons why they consider it good.

Just be careful when you do your research, the internet is flooded with 'PHP is the best language ever' sites, where some still even compare PHP to classic ASP for some reason, I would say pick ASP.NET MVC (not the webforms) it is so nice and easy to work with, not only will you achieve your results faster, it will be easier to test and be much much easier to maintain.
PHP has a ton of quirks and inconsistencies, the main problem is as mentioned earlier, its competition used to not be so formidable, but now other web development languages are ahead of the curve. I think all PHP should be separated completely from the presentation layer. Hell, it should be in its own files and do away with the opening/closing tags, and running/hosting scripts from the www root should be discouraged.

I'm a PHP web developer by profession and I would gladly take a .NET MVC job. Problem is, it's like the game industry. 99% of .NET jobs require that you already have some pro experience in .NET, they don't throw the no-experience juniors a bone tongue.png

New game in progress: Project SeedWorld

My development blog: Electronic Meteor

This topic is closed to new replies.

Advertisement