Which language do you think would be a good choice to start with?

Started by
13 comments, last by Tutorial Doctor 10 years, 5 months ago

Hello,

I am just trying to decide on which language would be a good choice to start with.

I am a partial web developer by trade, and would like to focus on learning a new language. IE.. it is part of my job, but not my entire job.

Currently, I can write code quite efficiently in Javascript, HTML, PHP, MySQL. I am also, mostly self taught.

Yes, I know HTML, and Javascript are scripting languages, but the fundamentals are there. Also, I took a programming class in college, but it dealt more with structure and logic than anything else.

I have access to Visual Studio 2010 Ultimate for a compiler, and the various free ones floating around.

I am looking for a language that is fairly easy and quick to pick up. Follows a similar structure to php, if possible. It would also be nice if I was able to use said language to connect to several MySQL databases that I currently use.

I would like to start out by creating small text based applications, most likely by tutorials I find on the internet. After, I get the hang of the basics of the language, I may dive into gui style applications, and then possibly game creation as a hobby.

So what are your suggestions, and why?

Thank You.

Advertisement

I could recommend C#. Its easy to learn and its similar to Java.

Also there are plenty of tutorials.

I would also recommend C#, here's a good starting tutorial if you want to check the basics and see how much you understand.

Other good options could be Java, or Python.

Thanks I will check them out.

Lua.

Easiest to learn, well supported, lots of libraries, simple in scope, used in AAA games.

Neither Lua or Python are remotely C-like in their syntax. That's not to discredit them as good starter languages at all, but given that php is a C-like scripting language, and the op specifically asked for something similar to php, it should at least be noted.

C# and Java are both C style syntax, and good starter languages.

Lua and Python are more Basic style syntax and also good starter languages.

I've been playing with C# for about 3 hours now, and made a little rock paper scissor,game..

Seems easy enough so far for text based apps. Structure is close enough to php to where I don't have alot of difficulty working with it..

Now, if I can just figure out how to make the program restart after it finishes, I'll work on something else.

Thanks everyone for the suggestions.

Never mind, goto works just fine for something this simple.


Never mind, goto works just fine for something this simple.

... and this... is what starting out as a PHP programmer does to you. God that language sucks.

EDIT: I suppose I should back that comment up, as it could be misleading to the OP. First off, that was by no means a shot at you, or your choice to use PHP. I do however find that PHP is a terribad language, especially for beginners.

As to the use of a goto, they are almost universally maligned. The general reason is they make code incredibly difficult to comprehend and are an easy way to introduce insidious bugs to your code.

In C#, there are only a few cases where C# goto makes sense.

1- generated code, code that is not intended to be read by a human.

2- C# does not support switch statement case fall through, like many other languages. You can however recreate the effect using gotos (*)

3- exit condition within a series of nested loops.

4- in a very very very rare set of cases, for performance reasons, often to eliminate the need for a flag variable.

2 and 3 should both be solvable with code refactoring.

(*) Example of 2 in action:

switch(something) {

case 1:

doSomething();

goto case 2;

case 2:

doSomethingElse();

break;

}

EDIT2: As to my comments about PHP, this post sums it up nicely. This analogy is about as apt as I've ever read:

I can’t even say what’s wrong with PHP, because— okay. Imagine you have uh, a toolbox. A set of tools. Looks okay, standard stuff in there.

You pull out a screwdriver, and you see it’s one of those weird tri-headed things. Okay, well, that’s not very useful to you, but you guess it comes in handy sometimes.

You pull out the hammer, but to your dismay, it has the claw part on both sides. Still serviceable though, I mean, you can hit nails with the middle of the head holding it sideways.

You pull out the pliers, but they don’t have those serrated surfaces; it’s flat and smooth. That’s less useful, but it still turns bolts well enough, so whatever.

And on you go. Everything in the box is kind of weird and quirky, but maybe not enough to make it completely worthless. And there’s no clear problem with the set as a whole; it still has all the tools.

Now imagine you meet millions of carpenters using this toolbox who tell you “well hey what’s the problem with these tools? They’re all I’ve ever used and they work fine!” And the carpenters show you the houses they’ve built, where every room is a pentagon and the roof is upside-down. And you knock on the front door and it just collapses inwards and they all yell at you for breaking their door.

That’s what’s wrong with PHP.

lol, I like your analogy with the tools.

I appreciate your time for the clarification of your opinion regarding PHP. Thank you for taking the time in that..

Edit..

Oh, and by the way I figured out how to loop it though a while loop and not use goto..

May be worth pointing out that C# has some nice paths into game development through XNA/Mono and Unity.

This topic is closed to new replies.

Advertisement