Programming language

NathanE said:
Not many will have, say, a Boyer-Moore algorithm example available on the 'net that you can just pinch and use... Only really popular languages will have such "niché" samples on the Internet.
While C# is a great language, and not bad for a beginner, I'd probably advise against something like ASP.NET (which is what you'd be using for .NET web programming); it's too bulky and conceals a lot of what ends up behind the scenes that a beginner should get to grips with first. In my opinion.

A simple language like PHP or Ruby (which I've no experience of personally) without a framework would be the best bet I think. PHP at least is fantastic for slapping together quick and dirty scripts that just work, which would be of great benefit as a learning language.
 
NathanE said:
Not many will have, say, a Boyer-Moore algorithm example available on the 'net that you can just pinch and use... Only really popular languages will have such "niché" samples on the Internet.
Take your pick..

Java:
http://www.google.co.uk/search?hl=e...l&hs=9mu&q=Boyer-Moore+java&btnG=Search&meta=
PHP:
http://www.google.co.uk/search?hl=e...al&hs=4SF&q=Boyer-Moore+php&btnG=Search&meta=
Ruby:
http://www.google.co.uk/search?hl=e...l&hs=7nu&q=Boyer-Moore+ruby&btnG=Search&meta=

You'll actually find more examples, tutorials, support and free code for Open Source languages than you will for any Corporate language.

You will also find there is very little of the actual source available for corporate examples.
 
It sounds like PHP is probably a good bet here if you're after a serverside scripting language. However, in response to the point about OS languages having bad doc and support...

NathanE said:
VB.NET or C#.NET

I'm surprised at the number of 'open source' language suggestions considering just how bad their documentation and support is.

13.November.2006—Sun believes deeply in creating communities and sharing innovations and technologies to foster more participation. Today in a historic move, Sun is opening the door to greater innovation by open sourcing key Java implementations—Java Platform Standard Edition (Java SE), Java Platform Micro Edition (Java ME), and Java Platform Enterprise Edition (Java EE)—under the GNU General Public License version 2 (GPLv2), the same license as GNU/Linux. » Read more.

Java has superb documentation and support and a wealth of great tools behind it.
 
Hades said:
Java has superb documentation and support and a wealth of great tools behind it.

I haven't used Java properly for a few years but I remember finding it very easy to read up on and figure out at the time.
 
Hades said:
Java has superb documentation and support and a wealth of great tools behind it.
That's not really an open source language though is it? (I know it pretends to be but in reality Sun will never fully loosen their grip on it...)
 
Java went 99% GNU last month (May 2007), my mistake.

Excluding Java then... :rolleyes::p:D

Just take a look at the PHP docs and you'll see what I'm getting at here. Their online docs have a little 'discussion board' appended to the end which allows people to make up for the formal documentation's short comings.

I know that people get on with the PHP docs just fine. But, really, it's not the sort of experience a beginner should have to go through. (And I speak from experience here, because back in 'the days' Microsoft too had crappy documentation) They need comprehensive and easy to search documentation with samples for just about everything, no matter how trivial it may seem. Not something that's practically being authored as they read it in Wiki-form, full of errors and/or omissions
 
There's no corporate language with that.. you may be able to ask for it, but A) it's at a price, and B) it'll take ages.

With the open source, you'll find help just about anywhere with a bit of common sense and google, or you can post to/on one of the many countless numbers of fora or mailing lists for help from others, who are willing to help for free.

And also, just because the advice may be paid for, does not mean it will not suffer from the same problems.

Besides which, discussions are far more valuable than straight forward examples. A block of code does not have any exploratory thought. Discussion does. This helps understanding infinitely more.

(Paid for counts for having to pay for the product in the first place, not explicitly pay for the advice.)
 
Dj_Jestar said:
With the open source, you'll find help just about anywhere with a bit of common sense and google, or you can post to/on one of the many countless numbers of fora or mailing lists for help from others, who are willing to help for free.

Exactly the same for 'corporate' languages. Have you seen the size of http://forums.asp.net/ forums? Very helpful and even paid Microsoft employees help you for free.
 
Aye Microsoft has some of the best programming forums/web sites. MSDN forums and newsgroups are pretty good for beginners and even brain-frozen professionals.
 
Dj_Jestar said:
(Paid for counts for having to pay for the product in the first place, not explicitly pay for the advice.)
noob said:
Exactly the same for 'corporate' languages. Have you seen the size of http://forums.asp.net/ forums? Very helpful and even paid Microsoft employees help you for free.
Reading the whole post helps ;)

MSDN is FAR from free.
 
Dj_Jestar said:
Reading the whole post helps ;)

MSDN is FAR from free.

I have read the whole post have you read mine? Last time I went to ASP.NET forums I didn't get charged. :p

Have you used Google recently you will be surprised just on how much information there is on C#, ASP.NET, VB.NET, etc. All that information is free.

Even the tools are free as well, crazy eh.

http://msdn.microsoft.com/vstudio/express/
 
Last edited:
azteched said:
C++ is in no way "nasty", if you take the time to learn to use it properly, and learn the more advanced features.
However, it'd be pretty tough as a first language.
If you want a good grounding & a challenge, try C.

First of all, the concept that C++ is an ISO standard rather than just created by a company (like Sun with Java) complicates things, it means random non-standard extensions and a whole host of possible compilers, and a complication in the difference between make and build.

Secondly, C++ has a whole host of internal mechanisms that are far tougher to understand (such as pointers, memory management, inline functions, multiple inheritance, friend functions, templates (even though those have been recently introduced to java), precompiler operatives/macros, dll compilation etc etc) than, say, Java.

This makes C++ much, much harder than Java. Java I can just open notepad, import some functions, extend and object, compile and run. C++ I need to make a make file, link in libraries, includes directories, link, not to mention decide which of the compilers I will use, or attempt to install one of the hundred IDEs to use.

At the moment I am lucky because the C++ I am developing fits within the OpenSG framework so autotools picks up and autoconfigures, but that would be a *nightmare* for someone just starting out.

My typical test cycle looks like this :

Edit my core (as necessary)
Edit my test file (as necessary)
Do a make clean & make on the lib to compile the lib from within builds directory
Go to the top directory, sudo make install to install the .so
Go into the builds test directory and make clean & make
./testMyCode

And that is assuming that all of my paths etc are installed correctly.
 
Back
Top Bottom