How difficult is it to make programs?

Started by
14 comments, last by Tracker10 4 years, 7 months ago
Advertisement
On 8/5/2019 at 12:45 PM, Shaarigan said:

There are two kinds of developers out there, coders and programmers. Learning a programming language lets you become a coder because you understand the principles and can quickly google for some solutions. For example you want to compare two different lists for similar items in C#, you google exactly that and get a solution from Stackoverflow.

On the other hand, mastering the art of (whatever-)programming to become a real programmer is something taking some time. Programming is not just scripting or copying code together, it is a phylosophy; the phylosophy of fighting complex problems in an efficient way. Programmers know their language as well as their native spoken language, programmers think about code reuse, error proofness and input correction, performance and/or memory footprints.

It's a very, very blurry line - I haven't come across a decent programmer who didn't look up stuff from time to time...

Everybody needs to look up stuff because you can't keep anything in your head. The point is that people exist spending hours for throwing their code together from google code snippets without the intention to think about what they currently do. Copy-pasting is not what a programmer's intention should be

Cool, a philosophical meta discussion ?

I freely admit and am aware that i am more of if not totally a "coder" according to your definition and i think that you are correct saying that behaviour is a distinguishing element between "coder" and "programmer". But i don't see it that much as a (dis-)qualifying argument. I haven't studied computer science nor ever attended a university course in programming (archaeologist by trade) and will never be as good as a professional programmer. But i also think that a certain amount of copying and analysing of free and open source software, of course combined with the effort to understand what holds the world together :-), does make the first steps into complex systems like a renderer much easier.

And i don't think that a beginner should be ashamed when doing so, as long as they name the sources. No matter which discipline we're from, weren't we all educated to do so ?

Even a coder can make awesome things these days, not at the cutting edge maybe and not as artistic as a rpofessional, but still. Otoh, without an understanding of what is going on, even a simple task like drawing a texture will be an unsurmountable problem. Copying without understanding simply won't work.

as we all can see

 

1 hour ago, Green_Baron said:

I freely admit and am aware that i am more of if not totally a "coder" according to your definition. But i don't see it that much as a (dis-)qualifying argument.

Even programmers are coders some times. If I find a partial solution, and verified it does what I need to have in the right way, then why not copy it with a link where it came from?

There is nothing wrong with being a coder, as long as you are aware of what you're doing. The path to becoming a programmer is however different, you have to learn about what is not copyable.

 

1 hour ago, Green_Baron said:

And i don't think that a beginner should be ashamed when doing so, as long as they name the sources. No matter which discipline we're from, weren't we all educated to do so ?

Nowadays indeed. I grew up without an Internet, in the world of 5 1/4" floppy disks and 32 KB RAM, things were a bit different not long ago :D

 

1 hour ago, Green_Baron said:

as we all can see

If a thread doesn't bring you joy, no need to spread that to other threads. Instead just ignore or avoid what makes you sad.

Yep, i bet you professionals started small as well, with textbooks, examples, try and error (which once was a valid technique, if i am not mistaken), and it was a long way studying and failing, writing a console application, a simple driver, whatever. And it will probably never end as the whole discipline evolves as fast as archaeology ?

I found the first steps of the learning curve, to learn about a formal language, compiler, errors and their correction, different semantics, etc. most challenging. Since i did it alone in my spare time (people around me aren't interested in technology, they are all too old ;-), so i had no company) i ran in wrong directions several times. Python isn't good for a terrain renderer, Vulkan to complicated for a beginner, C# not the best choice for Linux, etc. pp.

Before all, i think it simplifies things for a newcomer if she/he has a clear vision of what to accomplish and stick to it. After language basics, try to identify parts and solve them one by one. Don't expect to integrate them later, as understanding of higher level concepts comes, things will probably be written again. If it takes a year to grasp concepts like the graphics pipeline then it takes a year; or it may be an idea to sacrifice flexibility and deeper insight for speed and simplicity of a game engine.

Is it "hard" ? Maybe 7 on a Mohs scale, qualitatively spoken ? ...

 

Edit: it was in the "3D Engine Design for Virtual Globes" where the authors wrote (analogously) that those who live for the detail and scoff at the "big picture" people may need less effort, the rest of us has to dedicate more time and effort. Or so ... ?

Do you already have command on some programming language? If no, then I must say jump into it, take C++ for example, and polish your programming skills. Soon you will notice that programming is an addictive process.

>> how hard is it?

Nothing hard in programming and all is a fun if you have aptitude.

>> How long will it take on average?

You can learn basics of programming in 1 to 3 months. After that more you spend your time in programming more knowledgeable and skillful you will be.

This topic is closed to new replies.

Advertisement