View Full Version : 1st programming language.. Any recommendations would be appreciated!
Eyup all,
I'm thinking of starting to dabble in the programming world once again (after about 20 years) and would like to know an easy way of getting back into things. I know the basic language and I've seen Dark Basic running which looks good for a 1st language, but can any of you recommend another easy(ish) to pick up language to start with which doesn't cost an arm and a leg? I think Dark Basic is around the £50 mark which isn't too bad and compiles your basic code into runnable machine code for PC's.
It obviously needs a manual the size of a nuclear power station to get me up and running so the 'easy to use and learn' bit is essential! :)
Thanks for your help!
Space.
depends what you want to do, do you have any ideas for a program or something you want to make?
fnkysknky 16-02-2008, 22:43 Personally from where I am at the moment I'd suggest Python. It's cross platform and easy to understand if you know basic programming practices. It's also very powerful. I know 15-20 languages at a basic level or above and I'm seriously impressed with Python.
6 months ago I'd have probably suggested Smalltalk. Personally I've found that once I've learnt good programming practices I've been able to pick up any language pretty sharpish.
Hi Ghozer,
Yeah just potter about.. maybe make a basic tetris type thing or just something else basic to start with. If I enjoy it and get to grips with it, I might start going more advanced... Its just something to try really..
Personally I'd suggest Python. It's cross platform and easy to understand if you know basic programming practices. It's also very powerful. I know 15-20 languages at a basic level or above and I'm seriously impressed with Python.
I was in Waterstones earlier looking at books on it fnky and there was a good book about Python! I was thinking of buying the book and working through it. Python is a free download too so it may be worth investing in the book!
Python would probably be the way to go atm tbh, as fnky said, its something I might look into some time in the near future also, I think I have got about as far as I can with php without actually having a big project to do.
Righto, thanks for the replies! I'll try Python and get the book from town or Meadowhall tomorrow! Cheers...
When I have made the next Halo or Call Of Duty, I'll put you both in the credits! :)
fnkysknky 17-02-2008, 07:19 The Python tutorial at http://docs.python.org/tut/ is really good. It does expect a good level of knowledge to start with but I worked through it in a day or two and was writing some pretty good stuff after those couple of days. The good thing about Python is that the standard libraries/packages appear to support just about everything from manipulating network sockets to GUI programming. There's also a shed load of 3rd party packages to download.
Dark Basic makes my brain bleed.
Which is odd because about 6 years ago I did a course in Visual Basic at Hallam and got a City and Guilds certificate from it!
alkatraz 17-02-2008, 17:51 NO PLEASE!!
Don't start the poor man off on Python. PLEASE.
Python has its merits (maybe). But you should start on ground that you can go many places from. As a pure example, because nearly ALL programming languages don't care about white-space - don't start by using one that does.
Start with PHP or Perl or something, or even just bash/c-shell scripting or go the whole hog and start with C. But for crying out loud don't START with Python.
PS - re what was said about availability of packaged code to do everything. Perl has it in spades - CPAN! Plus there's MUCH more support for perl than python around, cause every bloody thing uses it.
fred_notdead 17-02-2008, 17:55 If you're going to College, you'll need Visual Basic, and at Uni' you'll need that and Assembly and C++
.
After my time with BASIC, I moved onto Pascal / Delphi. I think you can still get copies of the personal edition (which is free to hobbiests/students). I'd say it's almost as powerful as C, but almost as friendly as BASIC. Seems to have fallen out of favour at the moment though, mainly after the Borland will-they-won't-they sell it debacle...
If you're going to College, you'll need Visual Basic, and at Uni' you'll need that and Assembly and C++.
Must depend on the uni. We got taught all three in our first year of Software Engineering... despite most people already having a grasp of them.
If you're going to College, you'll need Visual Basic, and at Uni' you'll need that and Assembly and C++
.
I'd have to question that, don't know about college, but I have a comp sci degree and never did any VB or assembler, although I did do some C++.
sugarcube 17-02-2008, 20:33 pascal gets my vote, easy and well structured.
also worth checking out on that note is.... free pascal lazarus project (http://www.lazarus.freepascal.org/modules.php?op=modload&name=StaticPage&file=index&sURL=about)
evildrneil 17-02-2008, 20:40 I would go for C (not the ++ version!) for a good all round language that doesn't have too sharp a learning curve to get started with. If you are more impatient and want to see quicker results then maybe PHP or PERL. If you are set on OO rather than procedural then maybe Ruby or *spit* JAVA!
alkatraz 17-02-2008, 20:58 I would go for C (not the ++ version!) for a good all round language that doesn't have too sharp a learning curve to get started with. If you are more impatient and want to see quicker results then maybe PHP or PERL. If you are set on OO rather than procedural then maybe Ruby or *spit* JAVA!
Just in case anyone is mislead by the above comments -- PHP, Perl and C are ALL capable of creating Object-Oriented (OO) code, and there is no reason to pick up Ruby or Java to do this. In fact there's liottle reason to EVER se Ruby, and Java's not fantastic but has its uses.
Thanks for all your replies! I'm going to have a ganders at stuff now to see the pro's and cons of each suggestion.
Thanks again! :)
I'd go with VB.Net or C#, you can get excellent free versions of Visual Studio which will allow you to create Windows or web apps with ease.
Just in case anyone is mislead by the above comments -- PHP, Perl and C are ALL capable of creating Object-Oriented (OO) code, and there is no reason to pick up Ruby or Java to do this. In fact there's liottle reason to EVER se Ruby, and Java's not fantastic but has its uses.
OO isn't the natural way of writing C though, and learning a procedural language rather than OO seems like an odd thing to do.
fnkysknky 18-02-2008, 09:09 NO PLEASE!!
Don't start the poor man off on Python. PLEASE.
Python has its merits (maybe). But you should start on ground that you can go many places from. As a pure example, because nearly ALL programming languages don't care about white-space - don't start by using one that does.
Start with PHP or Perl or something, or even just bash/c-shell scripting or go the whole hog and start with C. But for crying out loud don't START with Python.
PS - re what was said about availability of packaged code to do everything. Perl has it in spades - CPAN! Plus there's MUCH more support for perl than python around, cause every bloody thing uses it.
The guy said he already had programming experience, I wouldn't start a beginner off on Python but it's a good step up from BASIC. If you want a cross platform language that you can achieve results with quickly and that's very versatile then Python is a good choice.
alkatraz 18-02-2008, 18:14 OO isn't the natural way of writing C though, and learning a procedural language rather than OO seems like an odd thing to do.
I understand what you mean - but so many of us started procedurally, and given the freedom in C and its universal uses, I still think that starting in C is an absolutely fantastic idea. Even better if you can get someone to teach you OO fundamentals from the very start, but in C, then you not only get to learn a language which can take you anywhere, and which still represents the underlying features in most of the high-level languages, but you learn OO as well.
You don't need a language to FORCE you into OO, you just need a goodf teacher or the right mindset to make sure you understand OO at its very heart.
Then, since you already know C, you can start lending a hand on everything upto and including the linux kernel.
But you could start with C++, you don't have to get straight into the nastiness of pointers and memory allocation and deallocation, and it will be (almost) designed to be OO, rather than a bit of a bolt on.
For that matter, java syntax is nearly identical to C, that forces you to write OO, will run on most systems and can be compiled up into single executable files (still requires the host system to have the JRE installed). Not ideal for graphics library access though, so maybe not right for the OP since he wants to start with tetris.
Phanerothyme 08-03-2008, 15:08 If you want a cross platform language that you can achieve results with quickly and that's very versatile then Python is a good choice.
It's good enough for google. They used python to create their webcrawlers/spiders.
I'm looking at python atm because there is a python run time engine for Symbian S60v3, which allows you to write and run scripts (unsigned and uncompiled) on, for example, the N95.
Nokia have also published a nokia/python API so you have access, via python, to all the phone functions (camera, GPS, accelerometer, WiFi stack, GPRS stack etc etc)
|
|