D&C GLug - Home Page

[ Date Index ] [ Thread Index ] [ <= Previous by date / thread ] [ Next by date / thread => ]

Re: [LUG] UK digital skills report

 

On 18/02/15 22:48, Jay Bennie wrote:



One of the questions I asked myself and still do is "What language do I learn?" as 
there are so many out there and whenever you ask people, there is a different response each 
time, and I agree that there are too many languages, granted they do different things and work 
in different ways but what one does a developer chose to learn over a certain language and why.
        
...

I sometimes hold the opinion that there should only be around five programming 
languages. Low level, interpreted, scripted, compiled, web: ASM, BASIC, Perl, C, PHP



My answer to this question is:

You don't set out to learn specific languages, you start by learning the basic 
building blocks to solve problems using logic.  As you learn more you will recognise 
common patterns and you will become a lego master and everything will be Awesome!

but start small, with Loops, conditions and local data variables, These are the most 
basic logic statements that are composed into blocks that represent specific logical 
instructions, these in turn are composed into larger blocks to create programmes or 
the components of programmes that can be fitted together like lego blocks that 
perform specific tasks.

The syntax a language, is unimportant to an extent but the choices are vast, and you 
can make your life easier buy concentrating initially on a class of languages that 
have a common syntax known as ECMA.

For ease, i would advise most newbies try their hand with an ECMA language, then as 
they get to grips with the layers that build up a system, they will find languages 
at each level that use ECMA syntax and this will ease the learning of the specific 
enhancements in the chosen software tools, by this I mean compilers, runtimes, 
parsers etc.

You should also learn SQL. SQL is a language, but its not a programming language per 
se, it is language to read, edit and remove data.

Its not obligatory, but the vast majority of paid software work involves a lot of 
data!

and with data comes presentation, so as a starting point, learn HTML, its friend CSS 
and the ECMA language; Javascript. When you can do that Node, C# and Java are ECMA 
languages in the next layer(the web server) and C/C++ on the server itself with ASM 
at the lowest level, it is best used with C.

If you can master these you can write software that targets everything from the raw 
hardware to the UI of a mobile phone.


One up for that. You can write badly in any language and generally anyone who says their preferred language is 'better' is saying that because they don't know the other languages or are afraid of certain keyboard characters. I should warn you that programming is an art to start with but after 20 years or so it becomes a science. But even learning a small amount is better than learning none. Once you've mastered the basics you will know pretty much most things about how almost everything goes together! Certain languages are worth learning not because they are good (or bad) but because of where they are in the ecosystem:
Javascript cos its in the web browser and so everywhere;
PHP cos its in a lot of web servers as is SQL.
C as its very common in Linux programs and C++ which may scare you at first but I've found that almost everything else uses C++ libraries to do the really gritty stuff! Remember that a journey of a thousand miles* starts with a single step and keep going - the exercise in itself becomes fun after a while!

Tom te tom te tom
* but when you get there you realise there's a way to go yet.


--
The Mailing List for the Devon & Cornwall LUG
http://mailman.dclug.org.uk/listinfo/list
FAQ: http://www.dcglug.org.uk/listfaq