What language?
Discussion
I've decided I'd like to try my hand at a bit of programming, but it's been a while and I'd like some advice on (in your opinion) which is the best to start learning?
To fill you in, I'm pretty technically minded anyway, and as a job a major part is sorting other peoples (or companies) PCs out for them. I'm up on the hardware and software side of things, but feel it's time to delv a little deeper.
This will only be for my own entertainment BTW.
I've just been reading up on the basics of Perl and that seems reasonably logical to use, right??
Cheers in advance
Dan
To fill you in, I'm pretty technically minded anyway, and as a job a major part is sorting other peoples (or companies) PCs out for them. I'm up on the hardware and software side of things, but feel it's time to delv a little deeper.
This will only be for my own entertainment BTW.
I've just been reading up on the basics of Perl and that seems reasonably logical to use, right??
Cheers in advance
Dan

Developed anything before?
Try a bit of vbScript to become comfortable with the object.thing syntax.
Then Windows API's shouldnt be an issue!
C# and J2EE are probably the safest technologies moving forward. The limit with C# though is that there will be probably only ever be a CLR for the Windows platform. J2EE is powerful but wordy.
Good luck!
Try a bit of vbScript to become comfortable with the object.thing syntax.
Then Windows API's shouldnt be an issue!
C# and J2EE are probably the safest technologies moving forward. The limit with C# though is that there will be probably only ever be a CLR for the Windows platform. J2EE is powerful but wordy.
Good luck!
I would go for c#, the framework is free and you can code using notepad. A good new OO language which is catching on very quickly, interesting read here :-
www.webservicespipeline.com/news/23900832
There is the c# express version currently in beta 1 but seems stable from what I've used of it, with built in intellsense and a good programming environment.
http://lab.msdn.microsoft.com/express/
The only main parts of this environment missing from the full blown vs.net is the lack integrated source control, remote debugging, and class designer (new in vs 2005) but you still have all the features of the full class library.
Differences here
http://lab.msdn.microsoft.com/vs2005/productinfo/productline/default.aspx
HTH
Paul
www.webservicespipeline.com/news/23900832
There is the c# express version currently in beta 1 but seems stable from what I've used of it, with built in intellsense and a good programming environment.
http://lab.msdn.microsoft.com/express/
The only main parts of this environment missing from the full blown vs.net is the lack integrated source control, remote debugging, and class designer (new in vs 2005) but you still have all the features of the full class library.
Differences here
http://lab.msdn.microsoft.com/vs2005/productinfo/productline/default.aspx
HTH
Paul
plotloss said:
The limit with C# though is that there will be probably only ever be a CLR for the Windows platform. J2EE is powerful but wordy.
Good luck!
the mono project is well under way..
www.mono-project.com/about/index.html
so there is hope for those who don't like MS
cheers
Paul
lanciachris said:You're joking, right? When I search for C++ jobs on JobServe I have to throw out a depressingly large number which ask for Java / J2EE in addition to C++. Bit of a problem as I haven't got round to learning Java yet.
Java is an easy teaching language, if not all that widely used commercially
In addition I know at least 3 other contractors who make their living out of writing Java.
lanciachris said:Nonsense. I've been writing java commercially for 5 years, it's used all over the place. It's easy to learn the syntax because the language and IDEs can be downloaded for free and there are some really good tutorials on sun's website however unless you want to be just another coder, don't neglect the OO analysis/design side.
Java is an easy teaching language, if not all that widely used commercially, maybe c# would be a better option.
Regards,
Mark
Guys, guys. This bloke wants to *learn* programming. C#, Java, C++, Ruby, whatever are *way* too big. There's a huge learning curve associated with all of them - trying to learn syntax, OO metaphors and any IDE (Microsoft's so-called "Visual" environments.)
He'd be better off with VB or Perl.
(Besides, C++ is an evil bletcherous bag hung on the side of 'C', and C# is just a political spoiler for Java, since Sun wouldn't let Microsoft "embrace and extend" it.)
He'd be better off with VB or Perl.
(Besides, C++ is an evil bletcherous bag hung on the side of 'C', and C# is just a political spoiler for Java, since Sun wouldn't let Microsoft "embrace and extend" it.)
zumbruk said:It depends what his goals are, does he want to learn to develop software or does he want to knock up the odd utility for himself. Java or C# for the former or Perl/Python for the latter. I wouldn't say doing a bit of perl would really prepare you for the proper stuff except it would teach you what variables are and you can learn that with Java. Software development is not an easy thing to learn. I'm still learning after 5 years education and 14 years commercial. Anyone who says that they know it all after spending a few months knocking up some perl scripts is deluding themselves. Pick your goal and work towards it is my advice.
Guys, guys. This bloke wants to *learn* programming. C#, Java, C++, Ruby, whatever are *way* too big. There's a huge learning curve associated with all of them - trying to learn syntax, OO metaphors and any IDE (Microsoft's so-called "Visual" environments.)
He'd be better off with VB or Perl.
Mark
zumbruk said:I disagree. Why learn to drive an automatic before going on to re-learn in a manual (bad analogy I know, but trying to add some sort of PH reference...
Guys, guys. This bloke wants to *learn* programming. C#, Java, C++, Ruby, whatever are *way* too big. There's a huge learning curve associated with all of them - trying to learn syntax, OO metaphors and any IDE (Microsoft's so-called "Visual" environments.)
He'd be better off with VB or Perl.
(Besides, C++ is an evil bletcherous bag hung on the side of 'C', and C# is just a political spoiler for Java, since Sun wouldn't let Microsoft "embrace and extend" it.)
). My point being that VB especially will teach some bad habits (e.g. procedural programming) that are just not necessary. Much better to start with a proper OO language - Java is perfect for this as it's pure OO. I learnt Java in notepad and now even though it's my primary development language tend to mainly use JEdit and Ant, so you don't *have* to learn the IDE and so on first.
A good book to cover the basics of OO and another to introduce the syntax of Java. Then away you go, learning each new package bit by bit.
Whatever your long term objective, you need to start with a language and a development environment that let you see the woods for the trees. If you are constantly wrestling with minor syntax problems in your code or the configuration of your environment, particularly if you don't have anyone to ask for help, then you are stuffed.
You need to build up the concepts starting at the most fundamental; variables, expressions (arithmetic, logical, string), looping, branching. Next step would probably by function declaration and invocation, followed by classes and objects.
VBA as embedded in Excel, Access, Word, etc is not a bad place to start. For a start, you've probably already got it installed on your PC. It is easy to use, easy to learn, and fairly easy to produce simple solutions for real-world problems. It is not the most elegant language in the world and many of the solutions produced in it are unreliable cack (don't blame the tools, blame the user).
VB allows you to write stand-alone applications, COM components, but is essentially almost identical to VBA in terms of its use as a basic teaching tool.
A good alternative language is Python, in particular when used with the PythonWin development environment and windows extensions. It is free, multiplatform and has a lively user group www.python.org. It is also a surprisingly elegant language. You aren't likely to outgrow it, whereas you will outgrow VB quite quickly.
You need to build up the concepts starting at the most fundamental; variables, expressions (arithmetic, logical, string), looping, branching. Next step would probably by function declaration and invocation, followed by classes and objects.
VBA as embedded in Excel, Access, Word, etc is not a bad place to start. For a start, you've probably already got it installed on your PC. It is easy to use, easy to learn, and fairly easy to produce simple solutions for real-world problems. It is not the most elegant language in the world and many of the solutions produced in it are unreliable cack (don't blame the tools, blame the user).
VB allows you to write stand-alone applications, COM components, but is essentially almost identical to VBA in terms of its use as a basic teaching tool.
A good alternative language is Python, in particular when used with the PythonWin development environment and windows extensions. It is free, multiplatform and has a lively user group www.python.org. It is also a surprisingly elegant language. You aren't likely to outgrow it, whereas you will outgrow VB quite quickly.
My advice it to learn an interpreted language. These days, this often means a scripting language. You'll be making a lot of mistakes and there will be much trial and error, so you don't neccessarily want to spend half your time compiling. If it can do graphics easily, then this is a bonus as I always find this to be immediately rewarding, fun, and keeps me interested.
Java, C and so on - good languages and the right ones to be fluent in if you're looking for a job, but not always the one if you want to dabble.
Java, C and so on - good languages and the right ones to be fluent in if you're looking for a job, but not always the one if you want to dabble.
Gassing Station | Computers, Gadgets & Stuff | Top of Page | What's New | My Stuff


