Skip to main content
GameDev.net gamedev.net
🔒 Locked

Coder or Programmer

Started by MilchoPenchev Feb 13, 2011 at 9:13 PM 38 replies 7.1k views
Original Post
MilchoPenchev
MilchoPenchev
On the lighter side of things, I have this thing that urks me.

Every time I read that someone is looking for a 'coder' - I think, ok, they're looking for someone to create a php script, or a website, or something on that level. Something that doesn't require digging anywhere near the hells of pointers or malloc.

On the other hand, when I see someone looking for a 'programmer' I picture work that relates to creating a standalone executable. I don't think that a programmer is a title for someone who writes scripts to execute on a website.

I'm not saying being a coder or a programmer is bad, nor do I think the two are exclusive. And I'm not talking about classifying people as either.

I'm talking about using those words as an accurate job description. I can't tell you how many job titles I've seen requesting a programmer, and the only things they want you to know is HTML, CSS and/or JavaScript. I just can't associate those with the title 'programmer'. That title should be 'coder' or 'scripter'.

Same goes for the opposite - requesting a 'coder' when what need, what you really want, is a someone who knows C, C++, C#, Java. I've seen quite a few posts on this site asking for coders when what I think they need is a programmer.

Really, there are huge differences between web-designing languages/scripts (html, css, php) and programming languages. Differences that require two somewhat overlapping, but different at the core, skill sets.

What do you people think? ( "you're crazy" is also a valid opinion)

That's my rant.

ranakor
ranakor
My thought is the word coder should be droped, it's not a job title. It's slang


And the only things they want you to know is HTML, CSS and/or JavaScript. I just can't associate those with the title 'programmer'. That title should be 'coder' or 'scripter'.


Why are you mixing JavaScript with HTML/CSS? JavaScript is a proper programming language on the same level (as a language, not as far as API are concerned) as any other modern programming language.


Really, there are huge differences between web-designing languages/scripts (html, css, php) and programming languages. Differences that require two somewhat overlapping, but different at the core, skill sets.


Same, why are you mixing php with HTML/CSS, php is a programming language like any other, and it's definately the same skillset.

Note that language issues aside you seem to be implying that "web dev" is different from non webdev, while in truth they're the same with differences only showing at the presentation layer.
jtagge75
jtagge75
With a RESTful API there is a lot you can do with PHP. If you think its just a simple scripting language then you haven't looked to closely at it.

Any decent 'programmer' shouldn't be messing with raw pointers or malloc either. Either use a smart pointer, or better yet, a managed language. I haven't even thought of memory management in probably a year and its great.

You have to write code to make a program do anything so the only real difference between the two is just semantics.
Antheus
Antheus
when I see someone looking for a 'programmer' I picture work that relates to creating a standalone executable. I don't think that a programmer is a title for someone who writes scripts to execute on a website.[/quote]

Damn those 20000 script kiddies at Google.
MilchoPenchev
MilchoPenchev
First off, I disagree that JavaScript and php do the same things as programming languages, and are only different on the outside.

They're actually classified separately for one, as 'scripting languages'. There's reasons for that, relating to the fact that they run inside another program.

And what do you mean by 'any decent programmer'? I went out of my way to avoid calling people names, and you go and to it right off the bat.

I deal with raw pointers all the time. I use malloc for dynamic memory allocation. So, what you just called me not a decent programmer. Aaaand, that's why maybe I shouldn't have started this post. Why the names?

Writing a program that operates in it's own separate process is NOT the same as writing one that runs inside another program. You have a lot more options with C++ to take control of different hardware devices, create threads, read data from places other than the disk, and control a lot about your environment (i.e. the operating system). The scripting languages just don't need that, nor do they have control over these features. If you've ever dealt with multithreading, and the problems associated with that, you'd understand what I mean by different. And knowing how to deal with that is a different skillset, not required for scripting languages.

Yeah, the arguments you're presenting are what I've heard from a lot of people. I disagree, and I've tried to explain myself.
MilchoPenchev
MilchoPenchev

when I see someone looking for a 'programmer' I picture work that relates to creating a standalone executable. I don't think that a programmer is a title for someone who writes scripts to execute on a website.


Damn those 20000 script kiddies at Google.
[/quote]

Yes, so what? I'd call some of their tasks scripting. But they also do other stuff. They have servers, server backbones. They publish a few standalone applications. So not all of their work is scripting.


Is that bad? Are you offended? Why?

Is it that bad to say that I think requirements are different for different types of work? DO you really think someone programming a video game with C has to deal with the same problems as someone writing a game with JavaScript? Would a person who's done one, but never the other have no problem moving?

I don't think so, and I've tried explaining that to the best of my ability. I'm done.

MilchoPenchev
MilchoPenchev

If you think its just a simple scripting language then you haven't looked to closely at it.


'simple' implies that I somehow said it's easier work. I didn't. I've done some php, granted, not much. I enjoy it, I think it's good at what it does.


But it's a scripting language,
way2lazy2care
way2lazy2care

First off, I disagree that JavaScript and php do the same things as programming languages, and are only different on the outside.

They're actually classified separately for one, as 'scripting languages'. There's reasons for that, relating to the fact that they run inside another program.



Scripting languages are still programming languages. Using your argument java isn't a programming language either.

_the_phantom_
_the_phantom_

Any decent 'programmer' shouldn't be messing with raw pointers or malloc either. Either use a smart pointer, or better yet, a managed language. I haven't even thought of memory management in probably a year and its great.


Bzzt!
Wrong wrong wrong.

A decent programmer does what is required to get the job as required.

Now, maybe with whatever you are doing you can work in such as way as being able to avoid thinking about memory management however there are still areas where a great deal of thought has to be put into memory management, data flow and cache interaction. In that enviroment a 'decent programmer' WILL be caring about these things and a non-decent programmer won't (as a rendering programmer; 'game play' and 'AI' I'm looking at YOU!).

Fun fact; I rearrange some code at work to consider data flow, memory access etc, took me less than a day... saved 30% of the run time, or 0.5ms, on the PS3.

So, yeah, you can live in a world where you use managed languages and smart pointers and pretend memory doesn't matter, and for some things that's good; don't get me wrong, I love C# for the right thing. Of course, other times you can look at the world a different way and discover performance you didn't think was there.
_the_phantom_
_the_phantom_

Scripting languages are still programming languages. Using your argument java isn't a programming language either.


Well, too be fair...
Nanoha
Nanoha
I prefer the term engineer of some sort (software). After all coding is just coding, programming is just coding but engineering implies something else. Its design, problem solving, creation of systems and architecture that all work together to create a whole. Of course theres elements of design to both coding/scripting/programming.

Its easy to feel superior but ultimately you should use the best tool for the job.
Interested in Fractals? Check out my App, Fractal Scout, free on the Google Play store.
Antheus
Antheus


DO you really think someone programming a video game with C has to deal with the same problems as someone writing a game with JavaScript? Would a person who's done one, but never the other have no problem moving?

Yes, they are the same.

They need to solve precisely the same problems. Only minor details will differ due to different constraints.

There is a main loop. In that loop one polls for events, updates logic and renders. That's it.


There are no "javascript" or "C" programmers. A question would be better phrased as: could an embedded developer move into web front-end development. And vice versa. Languages don't matter.
MilchoPenchev
MilchoPenchev

[quote name='Milcho' timestamp='1297634099' post='4773827']
DO you really think someone programming a video game with C has to deal with the same problems as someone writing a game with JavaScript? Would a person who's done one, but never the other have no problem moving?

Yes, they are the same.

They need to solve precisely the same problems. Only minor details will differ due to different constraints.

There is a main loop. In that loop one polls for events, updates logic and renders. That's it.


There are no "javascript" or "C" programmers. A question would be better phrased as: could an embedded developer move into web front-end development. And vice versa. Languages don't matter.
[/quote]
Why not abstract one step further? Any language is the same, because they all need to solve the same problems - how to achieve what the person writing with them wants to. Ok, no sarcasm, but what you call "minor details" is actually worth noting.

AGAIN, I will ask you to tell me where you gain experience with multi-threading in php or javascript. That minor difference, as you say, means that you have to know different things. And it's not so minor either.

You're arguing semantics. You chose to say 'minor details' whereas I say 'different skillset'. The fact is there are things you can do with one and not with the other. So, whatever you call them, if you have experience with one, and someone assumes it automatically applies to the other, there's a chance they're wrong.

That's it. I'm done. No more arguing. Go ahead, post, get your 'last word' in. I don't care.

jbadams
jbadams
  1. There aren't officially accepted differences in the definitions of "coder" and "programmer", any perceived differences are personal opinion. Just because you think they should apply to certain areas doesn't mean others do as well, and the number of job adverts using them "incorrectly" (according to your view) shows this. Personally I'd agree with the idea that "programmer" is the more professional term, whilst "coder" comes across as slang; this is just my opinion though.
  2. Languages such as php and JavaScript could be compiled like C, the fact that they aren't has little bearing on their capabilities and expressiveness. Some of the more modern JavaScript variations (such as Google's V8) are JIT compiled, putting them in the same class as Java; do you consider Java to be a scripting language or a coding language? Languages such as C++ or C# could also be interpretted; indeed, C# (whilst very much a "proper" programming language) is also used as a scripting language.
  3. Scripting languages are sometimes used to do things just as complicated or even more complex than any other language, and are used by very large organisations for very large and complicated projects. In my opinion your apparent need to treat them as different to programming languages is probably incorrect.


So, in my opinion you're drawing distinctions where they should not really be drawn.
- Jason Astle-Adams
way2lazy2care
way2lazy2care

Why not abstract one step further? Any language is the same, because they all need to solve the same problems - how to achieve what the person writing with them wants to. Ok, no sarcasm, but what you call "minor details" is actually worth noting.

AGAIN, I will ask you to tell me where you gain experience with multi-threading in php or javascript. That minor difference, as you say, means that you have to know different things. And it's not so minor either.


I don't believe C or C++ has access to threads as a default language feature. It uses different APIs to implement threads iirc.
jbadams
jbadams

That's it. I'm done. No more arguing. Go ahead, post, get your 'last word' in. I don't care.

Take a step back and cool it off a bit -- it seems like you're taking this a little personally -- you've asked for people's opinions, and they've been giving them. I don't see anything insulting (perhaps the one sleight from [color=#2B3730]jtagge75, which to me did not seem meant to offend) or inflammatory, but simply responses to your question.
- Jason Astle-Adams
kseh
kseh
I think that a decade or two ago, saying that you write code sounded cooler than saying you write computer programs.

Sirisian
Sirisian

Is it that bad to say that I think requirements are different for different types of work? DO you really think someone programming a video game with C has to deal with the same problems as someone writing a game with JavaScript? Would a person who's done one, but never the other have no problem moving?

It depends on the complexity of the game and the programmer. Going from a C OpenGL game to Javascript and WebGL is pretty easy if one takes the time to learn the API differences. Modern Javascript has the same complexity as any other programming language.

Regarding "programmer" vs "coder" I've never seen a distinction between the two. They mean the same thing to me when I read them.
ranakor
ranakor

First off, I disagree that JavaScript and php do the same things as programming languages, and are only different on the outside.

They're actually classified separately for one, as 'scripting languages'. There's reasons for that, relating to the fact that they run inside another program.

And what do you mean by 'any decent programmer'? I went out of my way to avoid calling people names, and you go and to it right off the bat.

I deal with raw pointers all the time. I use malloc for dynamic memory allocation. So, what you just called me not a decent programmer. Aaaand, that's why maybe I shouldn't have started this post. Why the names?

Writing a program that operates in it's own separate process is NOT the same as writing one that runs inside another program. You have a lot more options with C++ to take control of different hardware devices, create threads, read data from places other than the disk, and control a lot about your environment (i.e. the operating system). The scripting languages just don't need that, nor do they have control over these features. If you've ever dealt with multithreading, and the problems associated with that, you'd understand what I mean by different. And knowing how to deal with that is a different skillset, not required for scripting languages.

Yeah, the arguments you're presenting are what I've heard from a lot of people. I disagree, and I've tried to explain myself.



None of the arguments you have are about the programming language , but about it's API.

C++ doesn't allow you to take control of hardware, the API the OS exposes do. C++ doesn't allow for you to create threads, the OS does etc.

The way to "write" whatever you want to do is similar in both, you may not have the same options but for the options you have it's definately the same "work" and "skillset".

Also scripting languages are a sub category of programming languages, the very link you gave says that in the first sentence, so there's definately no arguing about wether they are or not programming languages.

Note that, (since you assumed the previous poster didn't deal with multitheading) , i have delt with that and still do as i've got out place to switch over from web apps to client side applications in WPF, and coming from a previous rewrite in javascript+web services i can guarantee to you it IS the same skillset, actually i'd guess you haven't worked with javascript (as in , you may have and taken snippets here & there, but you haven't tried to understand it as a programming language).

Also, to be pedantic, javascript doesn't run "in your browser", some implementations do , there are serverside or application versions of javascript , like JScript .net , which will have the exact same capabilities as any .net language, like threading notably.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.