UKC

Coding or programming ?

New Topic
This topic has been archived, and won't accept reply postings.
 Doug 02 Jun 2014
More & more I keep reading articles in the press about the why we should teach kids to code, why coding is important, etc. Seems that coding is just an alternative word for what I've always known as programming (all my university courses had titles like 'programming in Fortran 77') but why the change?

Or is there a difference ?
 RomTheBear 02 Jun 2014
In reply to Doug:

> More & more I keep reading articles in the press about the why we should teach kids to code, why coding is important, etc. Seems that coding is just an alternative word for what I've always known as programming (all my university courses had titles like 'programming in Fortran 77') but why the change?

> Or is there a difference ?

I think that maybe "coding" includes using technologies like html and such which is not really "programming". But anyway I don't think many people have actually any clue of what the difference is.

BTW the whole idea of teaching kids to code is a good thing but if they expect that it will resolve skill gaps in the industry they are just deluding themselves.
 stp 02 Jun 2014
In reply to Doug:

I think of coding as more general than programming. For instance coding could include writing html or CSS but neither of these are considered programming. They're not programming languages.
OP Doug 02 Jun 2014
In reply to stp:

except a quick search on Amazon finds several books with html & programming in the title....

And I agree programming/coding should be taught in schools, just surprised it isn't accepted as standard (I remember learning Basic when I was in the 6th form back in the mid 1970s so its hardly new)
 Carolyn 02 Jun 2014
In reply to Doug:

It saves the Department for Education worrying if it should be "programming" or "programing"?
 kathrync 02 Jun 2014
In reply to Doug:

> except a quick search on Amazon finds several books with html & programming in the title....

Well, html and programming can be combined. For example, it's common to combine html with programming languages such as php or javascript. Many introductory books on web development cover both so it is valid to have html and programming in the same title.

The main difference is that coding languages such as html/css/xml are structured ways of representing data but are not executable in their own right. They can be used simply to store data, or as an input to a program. Programming languages are used to write executable programs.

Learning to code can cover both writing coding languages and writing programming languages. Programming tends to only apply to writing in programming languages.

 LastBoyScout 02 Jun 2014
In reply to Doug:

I use them them fairly interchangably.

We often talk about who's going to code a workpackage, rather than who's going to program it.

Scout - software developer
 Ramblin dave 02 Jun 2014
In reply to Doug:

It always seemed to me that "coding" was more what hackish types would describe themselves as doing, whereas "programming" was what their manager or their mum would describe them as doing. Partly, I suppose, because once you're familiar with it, you realize that "writing a program" doesn't really describe the majority of coding very well.

These days, presumably, the outside world has picked up on the hackish use and adopted it...
In reply to Doug:
'Programming' is elitist because most kids can't spell it.
Post edited at 12:24
 Quiddity 02 Jun 2014
In reply to Doug:

Similarly the activity of 'programming' could include assembling a program from blocks or modules in a visual environment, it doesn't necessarily need to involve actually typing lines of code. eg. in my field, 'programming' might include this type of thing:

http://www.pstnet.com/eprime.cfm?tabID=Gallery

Like many refinements of language I guess it is a distinction which may be useful if you are talking in a context with the potential for confusion.
 stp 02 Jun 2014
In reply to Doug:

What's interesting is why should we teach kids to code? Anyone whose brought up a typical young lad in this day and age will probably know that the last thing they need to do is spend more time in front of computers.

The vast majority of the population get away without knowing any kind of programming so why do kids need to learn it? Software is getting easier to operate and there is so much choice I can't ever imagine the vast bulk of people will ever need to write a programme.

Also it's also well known that such sedentary activities are really bad for one's health.

I think engaging them in some outdoor activities like climbing would be a far better thing to do. Alternatively teaching them some core thinking principles would also be far more worthwhile as they can be applied to anything. Learning programming seems like complete a waste of time aside from the small fraction that go on to make a career out of it.
 1poundSOCKS 02 Jun 2014
In reply to stp:

It's a great way to learn about complex logic, which helps in lots of careers. There are also lots of jobs where experience with coding will be an extra string in your bow.

There's lots of time to do outdoor activities and learn how to code. Have you considered that a lot of kids might actually enjoy the creative process? My friend's young lad certainly does.

And how are sedentary activities bad for your health? I'm sitting at the laptop now, and I can't see how it's doing me any harm. I kind of need the rest after the weekend.
 RomTheBear 02 Jun 2014
In reply to stp:

> What's interesting is why should we teach kids to code? Anyone whose brought up a typical young lad in this day and age will probably know that the last thing they need to do is spend more time in front of computers.

Teaching kids to code is useful but in the end it will have a very limited impact, programming is easy to learn and is already becoming a very cheap skill.
IMHO we would be better off teaching kids proper maths and proper engineering instead. Getting them to make simple websites and simple app is not going to give them much of an edge.
 Blue Straggler 02 Jun 2014
In reply to Doug:

I do quite a bit of work using MatLab in a rather rudimentary way. Image processing - mostly writing algorithms to find the right features and ignore the wrong ones in 1D arrays. Lots of conditional stuff etc.
I don't consider this to be "programming". I've never been sure what to call it, as I was never sure what "coding" meant either! But it sounds like I might be coding. The real programmers here will tend to say "Blue Straggler has written some MatLab code for us to translate into C++"

(basically I form the first line of attack on a particular feature-finding problem, as I can create a standalone bit of MatLab code to import an image and find the best way to extract a feature, whereas the software engineers would have to through a load of rigmarole just to effect a single parameter change, as it all needs implementing into branches, trunks etc. and compiling. Many's the time I've said "it's just two lines of code!" only to be slapped down and told it'll take a week to implement )
 Alex@home 02 Jun 2014
In reply to stp:
who do you think writes/programs/codes all this software that is becoming easier to use?

many people need a job to sustain whatever lifestyle they choose. people who understand how to create good software will always be in demand within the job market. ergo it is a "good" thing to teach to children.

and then you can get into the intellectual challenges and rewards of coming up with elegant solutions to difficult problems and the associated benefits of actually learning how to think in a logical, structured way

edit - coming from the point of view of someone who has been writing software for nearly 15 years i am assuming that the teaching will be done by people who understand how these things work ... which is where my argument probably falls down as none of the teachers i know would know where to start (and let's face it - why should they). so i'll second the point about teaching good maths and engineering skills instead
Post edited at 13:27
OP Doug 02 Jun 2014
In reply to stp:
> Software is getting easier to operate and there is so much choice I can't ever imagine the vast bulk of people will ever need to write a programme.

Thinking back some 25 years, much of the Fortran I wrote while a PhD student was for simple data manipulation that today would take a few clicks in Excel or similar. Other than queries in SQL or similar I can't think when I've programmed any thing in recent years other than playing with html to have an idea how it works.

But the ideas of thinking how to solve problems which 'programing' teaches is useful elsewhere

Do Systems analysts still exist ?
Post edited at 13:23
 Ramblin dave 02 Jun 2014
In reply to RomTheBear:

> Teaching kids to code is useful but in the end it will have a very limited impact, programming is easy to learn and is already becoming a very cheap skill.

> IMHO we would be better off teaching kids proper maths and proper engineering instead. Getting them to make simple websites and simple app is not going to give them much of an edge.

I think there'd be a lot of value in teaching programming (and other bits of proper nuts-and-bolts computing) better in schools, but I don't think that getting all kids to write a couple of noddy programs is the answer. It's more about having the necessary skills and resources to teach the hard, useful stuff to the kids who are actually interested in it.
 timjones 02 Jun 2014
In reply to kathrync:

> The main difference is that coding languages such as html/css/xml are structured ways of representing data but are not executable in their own right.


I've always felt that you couldn't execute them without a computer

Surely HTML etc just need different things in order to run?
Andy Gamisou 02 Jun 2014
In reply to RomTheBear:
> programming is easy to learn and is already becoming a very cheap skill.

Ha ha - sure! That's why, as an experienced programmer (or coder), I get paid around 400 a day and only to need work 4 months in the year.
Post edited at 14:11
KevinD 02 Jun 2014
In reply to Doug:

> Or is there a difference ?

They have always both been used interchangeably as far as I can remember, possibly with a slight bias towards code informally.

I suspect the recent trend is a)because it sort of sounds better and b)may be to do with the trend for using app instead of program.

In reply to RomTheBear:

I disagree rather strongly with your comments. I think learning how to program could have enormous impact on childrens' intellectual abilities. The main skill required in programming is algorithm development, which combines extreme logic with mathematics and numerical techniques. For science and engineering applications it demands a very thorough understanding of the fundamental science and greatly enhances one's understanding of what these mean in practice. Good programming is also a highly creative art, but it is most certainly not easy: it is one of the most rigorous and demanding endeavors. So contrary to what you say, it is not a very cheap skill: good programmers have always been among the most highly paid scientists and technocrats in the world. Only the most primitive programming is easy and cheap.
 kathrync 02 Jun 2014
In reply to timjones:

> I've always felt that you couldn't execute them without a computer

> Surely HTML etc just need different things in order to run?

You can't "run" html. All it does is represent data in a structured way. You run a web browser, a program which is probably written in assembly language or C/C++ or some other programming language. The program reads the html and renders it for you. It is a subtle distinction, but essentially the web browser is the program that you run and the html is just data that is fed into it.

 Bob 02 Jun 2014
In reply to kathrync:

Correct - HTML is not executable in the sense that C, C++ or any other programming language is. It's a means of laying out information, which is what the 'M' stands for: 'Markup'
 RomTheBear 02 Jun 2014
In reply to John Stainforth:
> I disagree rather strongly with your comments. I think learning how to program could have enormous impact on childrens' intellectual abilities. The main skill required in programming is algorithm development, which combines extreme logic with mathematics and numerical techniques. For science and engineering applications it demands a very thorough understanding of the fundamental science and greatly enhances one's understanding of what these mean in practice. Good programming is also a highly creative art, but it is most certainly not easy: it is one of the most rigorous and demanding endeavors. So contrary to what you say, it is not a very cheap skill: good programmers have always been among the most highly paid scientists and technocrats in the world. Only the most primitive programming is easy and cheap.

Well sorry but I disagree, coding itself is not especially difficult, however what's very difficult is to design good software for the line of business you are in with the right technologies.

I worked for many of the biggest name in the software industry and I can tell you none of them recruit many programmers in the US or in Europe any-more. They have very good software architects and designer in Europe and the US but all the coding is done in India or increasingly china, most of the programmers who are still around usually have other skills and/or are working on very specialised systems on which the knowledge is not easily transferable.

But I agree with you knowing how to code is important, but it will become more and more an "accessory" skill that is not very useful on its own.
Post edited at 14:34
 Alex@home 02 Jun 2014
In reply to RomTheBear:

and therein lie many of the problems with a lot of software today. i have yet to work on anything that has been outsourced which has been successfully implemented without major issues.
that's not in any way suggesting that european/us/wherever programmers are any better necessarily than anyone from anywhere else. however there are enormous issues around communication and control which i have never seen overcome.
there will (or certainly should) always be a market for talented programmers in the UK/US/wherever you are.
the idea that it's worth outsourcing development is just more short-termism from people in charge of budgets who don't understand how software comes into being

and as for "accessory skill". no. i have seen plenty of people who are competent java/c++ developers being let loose on databases and absolutely kill them. never mind what inexperienced people do to them. the level of questions you see on stackoverflow from "consultants" and "experienced developers" is just scarily low sometimes. there must always be a need for people who can implement the ideas well. or are you suggesting that the architects actually write the code and just send it to someone else to type in and compile/debug?
Andy Gamisou 02 Jun 2014
In reply to RomTheBear:

> Well sorry but I disagree, coding itself is not especially difficult, however what's very difficult is to design good software for the line of business you are in with the right technologies.

What an odd viewpoint. Anything is easy if pursued at a sufficiently facile level. Pretty sure I could perform brain surgery on someone. Also pretty sure they would die as a result.

Developing a program to add two numbers together or display the message "hello world" is indeed not difficult. Working as part of a team to develop a system comprising hundreds of thousands of SLOC that aims to perform the primary fight control functions for commercial aircraft, or to enable real-time share dealing, or pretty much any real-world application is certainly not 'easy'. Exactly what sort of development have you been involved with to think otherwise?

As for it being cheap - I refer you to my previous message. And that's not even by chasing the money. If I did then I would expect to pull in between 650-800 per day.
In reply to Doug:

> Coding or programming
> Or is there a difference ?

Yes
Computer Programming is a process
Coding is one step of such a process.

The inherent hierarchy means they are not really interchangeable terms, but as with anything to do with processes, general usage makes it appear that way. Eg a Parent can also be a child but they are both part of the process called life.
 1poundSOCKS 02 Jun 2014
In reply to kathrync:

A bit like the JVM reading the Java bytecode?
 rousse 02 Jun 2014
In reply to Alex@home:

> and therein lie many of the problems with a lot of software today. i have yet to work on anything that has been outsourced which has been successfully implemented without major issues.

This has been my experience too, outsourced code from India often having to be rewritten to make it work reliably. I'm not sure why, as the Indian (born and mostly trained) programmers I've worked with in the UK have been excellent. Possibly the very high turnover of programmers within the outsourcing company?
Andy Gamisou 02 Jun 2014
In reply to 1poundSOCKS:

> A bit like the JVM reading the Java bytecode?

Not really, no.
 1poundSOCKS 02 Jun 2014
In reply to AndrewW:

Not much of an explanation.
 wintertree 02 Jun 2014
In reply to Doug:

To me coding could be construed as writing any form of code, which includes markup such as HTML, whereas programming implies coding a computer program.

Contrary to some statements on here, markup may be executed just as much as any program, although it is usually executed within a very restrictive environment where complex computation is not permitted. Even then lines blur with inline script languages etc.

Andy Gamisou 02 Jun 2014
In reply to 1poundSOCKS:

> Not much of an explanation.

If you really need one then you don't understand the concepts well enough to make an explanation worthwhile.
 CurlyStevo 02 Jun 2014
In reply to MikeYouCanClimb:

> Yes

> Computer Programming is a process

> Coding is one step of such a process.

> The inherent hierarchy means they are not really interchangeable terms, but as with anything to do with processes, general usage makes it appear that way. Eg a Parent can also be a child but they are both part of the process called life.


I've never heard that differentiation and after googling several sites I would say there is not any universally agreed definition that differentiates these terms but your differentiation didn't come up!

 1poundSOCKS 02 Jun 2014
In reply to AndrewW:

Very convenient.
 wintertree 02 Jun 2014
In reply to AndrewW:
> If you really need one then you don't understand the concepts well enough to make an explanation worthwhile.

That's a bit condescending,

I think the concepts are simple.

The environment of a JVM executing byte code has the features, data structures and user input/output to run a program where the results depend on an interaction with an external sustem - the user. This means 1) you can - given enough resources - compute anything that is theoretically computable on such a system. 2) do lots of useful stuff for the user.

Whilst the rendering of HTML code to a display involves something a lot like a JVM, but for displaying HTML, nothing in this system exposes the features needed for user dependant results or complex calculations and decisions. This makes it of no use for 1 and 2 above.

Now here's the cool part, everyone on here saying HTML isn't a proper language is actually wrong. If you include style sheets. With them you can build a 1D cellular automata that is Turing complete - roughly my point 1 above.

http://lambda-the-ultimate.org/node/4222
Post edited at 15:43
In reply to CurlyStevo:

> I've never heard that differentiation and after googling several sites I would say there is not any universally agreed definition that differentiates these terms but your differentiation didn't come up!

I was taught that such a long time ago. Mind you in my experience not many people understood processes very well, they still don't by the sound of it.
Wikepedia defines coding as
"a phase within the process of computer programming"
and programming as
"Computer programming (often shortened to programming) is a process that leads from an original formulation of a computing problem to executable programs"
 kathrync 02 Jun 2014
In reply to 1poundSOCKS:

> A bit like the JVM reading the Java bytecode?

Imagine you have a simple program that adds two numbers together. In order to run it needs two pieces of data - the numbers you want to add - which the user can specify. It produces an output, the sum of those numbers.

A web browser is just the same but at a slightly higher level of complexity. The output is a rendered webpage. The data the browser needs to produce this is a description of what should be on the web page. This is the data that is represented in the html. The user specifies this by providing an address where the browser looks for an html file.

A JVM reading bytecode is a bit different because the byte code is an executable - it's just that it is only executable on the java virtual machine, not on your actual OS.
 1poundSOCKS 02 Jun 2014
In reply to kathrync:

In both cases, a piece of software reads a file and does something. I don't see the distinction, at least in terms of what it means to "run".
 RomTheBear 02 Jun 2014
In reply to AndrewW:
> What an odd viewpoint. Anything is easy if pursued at a sufficiently facile level. Pretty sure I could perform brain surgery on someone. Also pretty sure they would die as a result.

> Developing a program to add two numbers together or display the message "hello world" is indeed not difficult. Working as part of a team to develop a system comprising hundreds of thousands of SLOC that aims to perform the primary fight control functions for commercial aircraft, or to enable real-time share dealing, or pretty much any real-world application is certainly not 'easy'. Exactly what sort of development have you been involved with to think otherwise?

Yes, but what I am saying is that someone who can design primary flight control functions for commercial aircraft has a lot more skills than simply "coding". What I am trying to say is that for most jobs coding is a tool but not really the main skill.

Then we'll always need coders who can translate specs into code, but from my experience this kind of job is extensively offshored, in my previous company they had 16,000 developers in India who could implement anything quickly and cheaply as long as you give them clear specs.
Post edited at 16:02
 wintertree 02 Jun 2014
In reply to kathrync:

> A JVM reading bytecode is a bit different because the byte code is an executable - it's just that it is only executable on the java virtual machine, not on your actual OS.

I'm with the cheap socks on this.

In both a rendering engine and a VM, data is acted upon with consequences, most likely by machinery that has very similar core constructs. The code, in both cases, is being executed to achieve a result.

The difference is that most VMs allow that bytecode or data to access tools that do not exist in HTML rendering, meaning that more complex computation, and user interaction, can occur.

Given but a tiny nudge in features and one can become the other, e.g. postscript
 CurlyStevo 02 Jun 2014
In reply to MikeYouCanClimb:

If you read the link I pasted in - it does say that the differentiation between these terms is becomming progressively blurred.

We all call ourselves coders where i work and we are programming games in C++ !!
 Ramblin dave 02 Jun 2014
In reply to wintertree:

> Given but a tiny nudge in features and one can become the other, e.g. postscript

I was about to say TeX...
In reply to CurlyStevo:

> If you read the link I pasted in - it does say that the differentiation between these terms is becomming progressively blurred.

Yes I read your link, it was quite amusing. I could unfortunately have been considered in each category at one time or another, now it would seem you can call yourself what you want. But then it was never very clear in the first place. Kathrync describes an example of the process hierarchy quite well without mentioning the words process or hierachy, but confusion still rules.

> We all call ourselves coders where i work and we are programming games in C++ !!
You may be surprised that your sentence makes sense and is not as contradictory as you imply. A hierarchy in a process because it consists of relationships can appear like this. Processes do not just consist of a series of sequential tasks or labels, but they are often treated in exactly this way. Maybe one reason for this is that it is simpler to understand or it could be a method to present something that is complex in a simple way to the wider community.
 kathrync 02 Jun 2014
In reply to 1poundSOCKS:
> In both cases, a piece of software reads a file and does something. I don't see the distinction, at least in terms of what it means to "run".

HTML is the file being read. Java bytecode encodes the software that does something with the file.


Except it's more complicated than that because you write Java as text, then compile it to byte-code, then send it to the JVM which interprets it for the processor of the host machine, then it does something. So in that sense you are correct, you send byte code to the JVM which will spit out an interpretation of it that your computer can run. However, there is in my mind definitely a distinction between HTML which is data that software does something with and a program written in Java which is software that does something with data.

The people above who cited postscript and LaTeX as examples where the lines blur and a markup language becomes a programming language also have valid points.
Post edited at 17:09
 kathrync 02 Jun 2014
In reply to wintertree:

> Now here's the cool part, everyone on here saying HTML isn't a proper language is actually wrong. If you include style sheets. With them you can build a 1D cellular automata that is Turing complete - roughly my point 1 above.


That's pretty cool - although it's not going to help clarify anything for the confused
 1poundSOCKS 02 Jun 2014
In reply to kathrync:

Ignore JVM and bytecode if it makes things less confusing. How about interpreted BASIC instead?

Isn't it just about perspective? To the BASIC language interpreter, the BASIC program is data, to the web browser, the HTML is data.

I think it's better to describe the process of HTML creation as programming, or at least developing, rather than data entry.
 kathrync 02 Jun 2014
In reply to 1poundSOCKS:

> Ignore JVM and bytecode if it makes things less confusing. How about interpreted BASIC instead?

> Isn't it just about perspective? To the BASIC language interpreter, the BASIC program is data, to the web browser, the HTML is data.

Ok, from the perspective of the interpreter, BASIC is just data that the interpreter takes in and turns into something the processor can use. I'll give you that

The distinction in my mind is about what happens after that. The BASIC that you have interpreted can then take data and do something with it. And the outcome is different depending on the data you give it. The html you have rendered can't do that (wintertree's funky examples aside ), it's (for the most part) just a static representation of something, like a picture.

> I think it's better to describe the process of HTML creation as programming, or at least developing, rather than data entry.

Yes HTML coding is more complicated than data entry. And I would always call it coding, not data entry. But it's different to writing something that actually processes data, which is what I would call programming.

 Bruce Hooker 02 Jun 2014
In reply to stp:

You can say programming in html, I think coding is just a new word that some think sounds better. Php coding of programming are both used too - just try googling either... if anything coding seems to be used less.
 1poundSOCKS 02 Jun 2014
In reply to kathrync:

Maybe you're thinking more of batch programming?

Can't HTML accept user input, from the keyboard or mouse, then act on it? For example, re-direct to another web page, or run Javascript. I haven't done much HTML, so I might be overselling it a bit. Maybe it gets even more indistinct with HTML5 (which I know nothing about).
 kathrync 02 Jun 2014
In reply to 1poundSOCKS:

In the vast majority of cases, websites that take user input through typing or do something on a mouseover or click are running Javascript or some other programming language.

In HTML you can insert a line that says "run this bit of JavaScript here", but that's a static instruction, not something that changes on user input. It is the JavaScript that takes the user input, does the processing and returns something specific to the input. The HTML just makes it look pretty.

In many cases, the output of a JavaScript is to choose which page to direct the browser to next, or even to write some custom HTML which will be displayed as the next page. This is different to a link in pure HTML, which is a static address that can't be changed by user action.

It is true that you can put links in pure HTML, but those are static links, they can't be changed by taking in data from the user. They are essentially just like an address and the instructions that tell the browser what to do with it are encoded in the browser rather than in the HTML.

It is exceedingly rare to see pure HTML pages now - when you do they look a lot like this: http://www.codedread.com/testbed/pure-html.html

I have to admit, I haven't used HTML5 much, so that might blur the boundaries more.

Obviously wintertree has shown above that HTML can be used more dynamically than I have just described - but those cases are pretty obscure.
 1poundSOCKS 02 Jun 2014
In reply to kathrync:

I'm guessing you're still not agreeing that a browser "runs" HTML. Enough.
 kathrync 02 Jun 2014
In reply to 1poundSOCKS:

I should add that I have over-simplified to make my point. I'm taking clarity over absolute correctness here. HTML does have limited logic capabilities.

I was always taught to keep the logic out of the HTML and put it in the JavaScript or PHP though
 kathrync 02 Jun 2014
In reply to 1poundSOCKS:

> I'm guessing you're still not agreeing that a browser "runs" HTML. Enough.

Quite - now that my deathly boring conference call is finally over, I'm going bouldering
 elsewhere 02 Jun 2014
In reply to kathrync:
Despite the name, "html5" generally means doing javascript programming of newer/emerging APIs which give you access to user input, networking, storage, file system, gps, accelerometer and so on.
 Bruce Hooker 02 Jun 2014
In reply to kathrync:

> It is exceedingly rare to see pure HTML pages now - when you do they look a lot like this: http://www.codedread.com/testbed/pure-html.html

You're exaggerating a bit there, even old html without java is quite capable of doing better than that. Maybe there should be a difference between coding and programming but in reality they seem to be used as synonyms... or at least that's how it seems to me.
KevinD 02 Jun 2014
In reply to Bruce Hooker:

> You're exaggerating a bit there, even old html without java is quite capable of doing better than that.

Do you mean javascript? Rather different beasts.

> Maybe there should be a difference between coding and programming but in reality they seem to be used as synonyms... or at least that's how it seems to me.

Thats how I see it with the minor, but rather vague, statement that programming seems to be more formal. My job title currently (it changes seemingly by the week) includes Programmer.
I am starting to turn against coding on the basis it seems to be the new cool term used for some hipster who has set up a basic webpage with a hello world js script.

 CurlyStevo 02 Jun 2014
In reply to RomTheBear:
> Teaching kids to code is useful but in the end it will have a very limited impact, programming is easy to learn and is already becoming a very cheap skill.

> IMHO we would be better off teaching kids proper maths and proper engineering instead. Getting them to make simple websites and simple app is not going to give them much of an edge.

You are looking pretty naive to me there. Pretty much any algorithm can be expressed as a computer program. Computer programming encompasses the hardest and simplist problem domains known to man!

Surely how hard it is to program something depends what it is you are trying to do!
Post edited at 23:00
KevinD 02 Jun 2014
In reply to CurlyStevo:

> You are looking pretty naive to me there.

Dunno. The current trend for "coding" does seem somewhat useless to me eg the learn to code in an hour and such shit.
It can be a useful skill to learn but likewise it can be pretty much useless and just set false expectations.
 CurlyStevo 02 Jun 2014
In reply to dissonance:

I think you missed my point! I wasn't referring to what is currently taught in schools (as I don't know and am not a parent).

However this is clearly rubbish
"programming is easy to learn and is already becoming a very cheap skill."

The most well paid person I know well earns over 150k a year programming and I know of several others earning around 2/3 of this amount, these are full time non contract positions!

Also how hard it is to program something depends what it is you are trying to achieve. Some programming languages alone such as C++ are very hard to master never mind if you are trying to program something very hard in that language!

Many times computer programmers are generalised problem solvers. Certainly in my job as a games coder I have to solve bespoke problems that are not at all easy on a regular basis.
KevinD 02 Jun 2014
In reply to CurlyStevo:

> I think you missed my point!

No I was just addressing why people would think it is easy. If anything its a problem which is likely to become more common with these various half arsed hipster initiatives.

> However this is clearly rubbish
> "programming is easy to learn and is already becoming a very cheap skill."

Well yes and no. You can get cheap developers (to throw another buzzword since as dev its the one I tend to use).
You will almost certainly get badly bitten down the line but if everyone else is making the same mistake then you can get away with it.
It does help if you do have some more skilled, and hence expensive, devs available to undo the damage from the cheap bods although this will often wiping out the savings and then some. Although of course that depends on the costing model (for example I am currently hoping my companies billing model will be giving a project manager some rather nasty surprises when they realise just how much my teams time costs compared to standard rates).

> Also how hard it is to program something depends what it is you are trying to achieve. Some programming languages alone such as C++ are very hard to master never mind if you are trying to program something very hard in that language!

Where did I say otherwise?
However rather than just saying something is rubbish is best to look at why people think that and whether it is going to get better or worse. Sadly, I think it is going to get worse since with "coding" currently being trendy there will be plenty of people confusing what their one day course taught them with actual proper work.

 Brass Nipples 02 Jun 2014
In reply to kathrync:
> You can't "run" html. All it does is represent data in a structured way. You run a web browser, a program which is probably written in assembly language or C/C++ or some other programming language. The program reads the html and renders it for you. It is a subtle distinction, but essentially the web browser is the program that you run and the html is just data that is fed into it.

The same of which could be said for JavaScript as it is just data that is fed into the browser that you run. You are right that HTML is not programming but not for the reasons you state. HTML is however coding, as you writing lines of (markup) code. So teaching coding could just be html, but to teach programming you'd need to include it in conjunction with JavaScript or any of the other languages used to generate web applications.
Post edited at 23:59
 RomTheBear 03 Jun 2014
In reply to CurlyStevo:
> You are looking pretty naive to me there. Pretty much any algorithm can be expressed as a computer program. Computer programming encompasses the hardest and simplist problem domains known to man!

> Surely how hard it is to program something depends what it is you are trying to do!

Yes, the thing is that simply knowing how to program is a completely different skill from knowing how to solve complex problems and designing good algorithms, I worked for several big software companies and all the design/business logic is done by engineers and business analysts, whilst the programmers have the somewhat no so exciting job to translate that spec into code.

My point is that if you want an good job in programming then you better have another solid skill to go with it.
Post edited at 00:19
 Bruce Hooker 03 Jun 2014
In reply to dissonance:

> Do you mean javascript?

Yes, probably The thing you have to keep updating all the time. On my modest web site I've just spent ages removing everything except html to make it work on more recent browsers and the variety of browsers around these days. Originally it was written with Frontpage which inserted a whole load of fancy buttons and stuff which just stopped working over the years.
 Jim Fraser 03 Jun 2014
In reply to Doug:

The difference between coding HTML and programming C++ is irrelevant in terms of the school education. If you can get kids to be disciplined enough to right working HTML that doesn't look a mess then you have made great step forward that can then be built upon. Spurious <br></p> and such-like are irrelevant detail at that stage.

Once you've got them that far you try them on programming languages or even teach them what the semi-colon is for in English language.
 Mark Edwards 03 Jun 2014
In reply to Doug:

I would say I program the MPU (in C) that controls the FPGA that is coded using VHDL.
So I think the difference would be that a program can adapt to its inputs but something that’s coded is a structure that isn’t so flexible. i.e. the software of a game is a program but the software of a cash machine is coded.

New Topic
This topic has been archived, and won't accept reply postings.
Loading Notifications...