Sign in to follow this  
Jason0885

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

Recommended Posts

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.

Share this post


Link to post
Share on other sites

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

Also there are plenty of tutorials.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Edited by Jason0885

Share this post


Link to post
Share on other sites

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.

Edited by Serapth

Share this post


Link to post
Share on other sites

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..

Edited by Jason0885

Share this post


Link to post
Share on other sites

Now I see why people get pissed when threads like these are created. Almost every single day this happens. If you really want a wide array of advice, type into the search box "What language should I learn?" Or copy/paste the title of this thread into google.

 

Here's my advice: Stop reading this thread, and start programming. I'm starting to see more and more that the people who are serious about something just go do it, and the people who are interested in something just go ask people on forums what to do.

Share this post


Link to post
Share on other sites

Now I see why people get pissed when threads like these are created. Almost every single day this happens. If you really want a wide array of advice, type into the search box "What language should I learn?" Or copy/paste the title of this thread into google.

 

Here's my advice: Stop reading this thread, and start programming. I'm starting to see more and more that the people who are serious about something just go do it, and the people who are interested in something just go ask people on forums what to do.

 

Oh, trust me I have been writing stuff in C# just to try to get a feel for it. I also believe the best way is to just do it.. 

 

I have been writing simple C# code ever since it was first suggested. Nothing really complicated, but stuff that I can go about several different ways to get the same end result.. 

 

I asked in the forum for references from people who have an extensive background in a language I do not know simply because I felt it would help me come to a decision in a world full of languages. 

 

Also, for the record I read the forum for a good hour before I decided to post, but failed to find something that applied specifically to my situation mainly because I was looking at several of the different languages that I did not know. I could see the syntax, and  structure of each. I could even understand what was being accomplished, but what I can see of the limitations of each, since I am a novice at best for most of these languages, is rather limited in the grand scheme of things.. 

Share this post


Link to post
Share on other sites

Before determining which language to learn, you should first decide what it is you want to do. Each language has it's strengths and weaknesses. They also serve different purposes. 

 

PHP is used for servers

C++ handles data well and is fast (games,software)

Python is well rounded (multiplatform)(games,software)

Lua is used here and there for games

Javascript is used for web 

Java is used for software

Ruby is used here and there (games,software)

 

etc.

 

So it is pointless to learn one language when another is required to do what you want. If you hate the syntax of the language that is required, then you will just have to stick it out (The case with me and C++)

 

One way to deal with syntax issues is to put key functions into your own functions and rename them:

 

RunThisRediculouslyBadNamedFunction()

 

Change to this:

 

function Run()

{

RunThisRediculuslyBadNamedFunction();

}

 

This can be done with variables and classes also (use inheritance for classes).

 

Hope this helps. 

Edited by Tutorial Doctor

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this