Okay, well this started in the what have you been working on thread and I want to know what you guys think. Does being successful mean you are a good programmer?
I have seen tons of programs that are successful but are poorly coded. So personally thing being successful doesn't make you a good coder. WHILE being a good coder can make you successful.
arienh4 on the irc is being retarded about this too.
[code][09:42] <arienh4> It doesn't matter what code looks like if it does it's purpose well
[09:42] <arienh4> To a machine the code's all and the same[/code]
He thinks as long as it works it doesn't matter how it is or how it looks.
A poorly coded program doesn't make it a bad program, just an inefficient program.
And with todays hardware most programmer don't need to worry about making an efficient program unless they are on restricted hardware or pushing the hardware to it's limits.
Obviously you don't have to be a good programmer to be successful.
[QUOTE=Mattz333;17463637]A poorly coded program doesn't make it a bad program, just an inefficient program.
And with todays hardware most programmer don't need to worry about making an efficient program unless they are on restricted hardware or pushing the hardware to it's limits.[/QUOTE]
You are talking about different things here.
Good code does not just or always mean efficient. Mostly it means well designed, commented, documented and easily maintainable code.
I agree with arienh4.
As long as you and your team can work on it without problems, it's maintainable and it does its purpose reasonably efficiently it's all fine.
I think that in most cases you have to be a good programmer to be a successful one. Sure you might sell one shitty visual basic program which does some simple task in a terrible way and make a few thousand pounds. To make [I]multiple[/I] successful programs and therefore in my eyes be a successful programmer, being a good programmer is a prequisite in almost all cases.
Good code is well-written code. Good code is documented, well-paced, and easy to read. None of these things affect the final machine output. That's a demerit against arienh4.
And certainly, if you choose the most naive way to solve a problem, or try to do it brute-force, then it would certainly "work" but it would still be bad code because it doesn't solve the problem very intelligently. If I write a program that uses bogo-sort as opposed to merge-sort algorithms, is that program just as good despite taking many thousands of times longer and more memory to run?
Well I know that some bad programming mistakes can make it impossible to work on a project, so some amalgam of structure and readability in addition to a style that does not result in a hours and hours of debugging difficult errors would probably be necessary just to make a working product.
[editline]11:19AM[/editline]
[QUOTE=Mattz333;17463637]A poorly coded program doesn't make it a bad program, just an inefficient program.
And with todays hardware most programmer don't need to worry about making an efficient program unless they are on restricted hardware or pushing the hardware to it's limits.[/QUOTE]
[media]http://www.youtube.com/watch?v=BhsTmiK7Q2M[/media]
This is just low. To call me retarded and wondering how I remember how I breathe on IRC, okay. But to bring it out here? You're definitely taking this out of context, since the only programs you were able to mention are very obscure programs that definitely aren't used enough to make thousands.
Also, I'm not going to respond to anyone else in this thread whom addresses me because I wasn't talking to any of you.
i really don't like the attitude that if it works it's good enough
there are too many programmers/coders out there that turn it poorly completed work, that's liable to malfunction or at least not work as expected
obviously correct formatting is very important too, especially if you're going back to old code
[QUOTE=arienh4;17466632]This is just low. To call me retarded and wondering how I remember how I breathe on IRC, okay. But to bring it out here? You're definitely taking this out of context, since the only programs you were able to mention are very obscure programs that definitely aren't used enough to make thousands.
Also, I'm not going to respond to anyone else in this thread whom addresses me because I wasn't talking to any of you.[/QUOTE]
So because 'fewer' programs are poorly coded and successful it makes your argument correct?
[QUOTE=high6;17467237]So because 'fewer' programs are poorly coded and successful it makes your argument correct?[/QUOTE]
You don't even seem to understand what my argument was, which is apparent because you created this thread. Ergo, it is impossible to discuss it with you.
I always write my code sloppy to begin with. Then I clean it up. I'd say a succesful program is a good written program. For instance, I see alot of people making new objects rather than using a class to make one object. I start with many objects and then make a class for it later. But really you don't need to with now days technology, unless it's high end or a game or something.
[QUOTE=Loli;17467809]I always write my code sloppy to begin with. Then I clean it up. I'd say a succesful program is a good written program. For instance, I see alot of people making new objects rather than using a class to make one object. I start with many objects and then make a class for it later. But really you don't need to with now days technology, unless it's high end or a game or something.[/QUOTE]
I think you're confusing "Objects" with variables here. Since an object is an instance of a class, you *need* a class to make an object.
[QUOTE=Mattz333;17463637]A poorly coded program doesn't make it a bad program, just an inefficient program.[/QUOTE]
And that pretty much makes it a bad program. By your definition, a bad program is one that doesn't work, and a good program is one that works.
There's a lot more to it than that.
[QUOTE=gparent;17468018]I think you're confusing "Objects" with variables here. Since an object is an instance of a class, you *need* a class to make an object.
[/QUOTE]
Yeah That!
It doesn't matter, as long as it works like it should. If you waste a little bit of memory, or it takes a little longer, it doesn't really matter unless it's a memory/time critical thing, like a game. Wasted memory is insignificant when you realize that you are maybe wasting MAYBE a kilobyte or two out of a worst case of 512MB of ram + 1gb of pagefile. If you are doing some huge algorithm, that might have a small effect if it gets doubled every iteration, but even then after it's done the memory gets cleared anyways.
It's always better to have good code, but when that doesn't work just get it done and make a note to fix it later, if you can find a better way. I'd say programming is similar to writing, it really helps to be good, but you can still get the point across if you suck at it.
Maintainability.
In 10 years time you don't want a company hiring another programmer only to find that he can't suss your poorly documented and incoherent code, costing the company valuable money.
[QUOTE=Tezza1234;17469419]Maintainability.
In 10 years time you don't want a company hiring another programmer only to find that he can't suss your poorly documented and incoherent code, costing the company valuable money.[/QUOTE]
Or maybe you do. Job security!
Indeed, I remember an article this one individual wrote who intentionally made all his code with obscure variable names, no comments, and overall very confusing layouts. Just so if the company that owned it needed to make some changes they'd have to hire him again.
And different coders always have different styles, it doesn't really matter unless you're working with a team or something to that nature. And then it's always good to organize and comment your work.
[QUOTE=arienh4]To a machine the code's all and the same[/QUOTE]
The machine doesn't care how your code looks, but other programmers do. In many software projects, much more time is spent in [url=http://en.wikipedia.org/wiki/Software_maintenance]maintenance[/url] than in initial development. If your code runs as-is, but it's difficult to make changes (e.g. fixing bugs or adding features) without breaking it, it's bad code. A good programmer writes maintainable code.
Efficiency is also a concern. You can write a program that "works", but takes much more memory or time than necessary because of poor design choices. (For example, a linked list is a poor choice for storing a sequence of items when you need random access.) A good programmer understands the performance characteristics of various data structures and algorithms, and uses that knowledge to guide his or her design decisions.
[QUOTE=a203xi;17470091]it doesn't really matter unless you're working with a team or something to that nature.[/QUOTE]
Pretty much all real-world software development is done in teams.
[QUOTE=Wyzard;17472534]A good programmer writes maintainable code.[/QUOTE]
But a smart one writes terrible code so he has a job in 14 years.
Doesn't need to be good to be successful, look at Windows!
[QUOTE=Chandler;17473412]But a smart one writes terrible code so he has a job in 14 years.[/QUOTE]
I wouldn't [i]want[/i] a job maintaining 14-year-old badly-written code.
[QUOTE=ButtsexV17;17473457]Doesn't need to be good to be successful, look at Windows![/QUOTE]
yes yes we get it hurr m$ shit productz wtf profit. and we don't care.
[QUOTE=efeX;17473679]yes yes we get it hurr m$ shit productz wtf profit. and we don't care.[/QUOTE]
What, no I'm talking about Microsoft BOB
I prefer good code. I try to make things as simple as I can.
I had one coworker who in a lot of parts of his code took indent levels out like 8 or 9 levels. I can't even begin to read it.
He also had bits like:
[code]
if(foo)
do_stuff(true);
else
do_stuff(false);
[/code]
So I was like "Dude..."
[code]
do_stuff(foo);
[/code]
[QUOTE=PvtCupcakes;17474011][b]I prefer good code. I try to make things as simple as I can.[/b]
I had one coworker who in a lot of parts of his code took indent levels out like 8 or 9 levels. I can't even begin to read it.
He also had bits like:
[code]
if(foo)
do_stuff(true);
else
do_stuff(false);
[/code]
So I was like "Dude..."
[code]
do_stuff(foo);
[/code][/QUOTE]
must..not..bring..up...mal-
[QUOTE=Wyzard;17473575]I wouldn't [i]want[/i] a job maintaining 14-year-old badly-written code.[/QUOTE]
Some people like monotony.
Your sentence should be [i]I[/i] wouldn't want a job maintaining 14 year old badly written code. All because you can't imagine how shitty life would be having to stare at the same code every day, and scaling that shit to more modern machines.
Because some people prefer it to stepping outside their comfort zone. Don't get me wrong I'm not advocating this shit. If I hire someone who pulls this shit I'm going to fire them. But usually, these things don't happen at startups.
For instance, garry, right now, has the decision of who he wants to hire. If he hires someone who [i]wants[/i] that job security you can be rest assured that they will most likely be fired/made of a mockery of/tar'd and feather'd. But shit like that doesn't happen at some companies. You can read thedailywtf and you'll see what I'm talking about. Now there are some companies that this really doesn't happen at anymore, or in some cases, is looked down on.
For instance, Google. Now I would never take a job at google, because one of their execs said "People don't work at Google because they want to make money! They work at Google to CHANGE THE WORLD!" which is total bullshit. I'm in this for the Rockstar status (sarcasm).
At google, you can and will be fired. The company is in an endless state of growth, and SURPRISE, this means you'll move on from project to project, so pulling the "I NEED JOB SECURITY" just doesn't work there, not to mention getting fired from Google is a huge bridge burner (Rocking that shit harder than the German retreat to berlin :v:) . At Johnson, Johnson, Zimmerman, and Sons (Fake company name), you may not have that. And you may be writing oneline perl scripts for the rest of your life, but you don't give a fuck because you gave up on having a happy life in college, and are doing it for the very nice, never increasing yearly salary of 55K (USD). Because fucking chicks is for jocks, so bachelorism is awesome.
Let's face it guys, there are few, if any, places to force people to write good clean code. It's all up to you, and whether you [i]think[/i] it's retarded or not isn't the point. The point is there are some really shitty programmers out there, and good programmers are in the minority. And it's a never ending battle.
14 year old code as in code by 14 year olds.
I think that's what they meant.
To be honest readability helps alot towards the success, but not towards the end result.
If a bug crops up and you can't find it because you have non-modular badly written code, gee.
[QUOTE=Eleventeen;17476017]14 year old code as in code by 14 year olds.
I think that's what they meant.
To be honest readability helps alot towards the success, but not towards the end result.
If a bug crops up and you can't find it because you have non-modular badly written code, gee.[/QUOTE]
No, as in code that is 14 years old.
Programming philosophy ITT
can someone explain how to decide if a computer program is good or bad?
if it works or not duh
Sorry, you need to Log In to post a reply to this thread.