Software Development and Programming Careers (Official Discussion Thread)

Type Username Here

Not a new member
Joined
Apr 30, 2012
Messages
16,368
Reputation
2,385
Daps
32,641
Reppin
humans
so most important thing is to code for readability. never, ever code for efficiency. ever.


Breh, I don't know who told you that but that is not true. In most cases, that would be correct but sometimes efficiency matters and is priority. There are times where there are hardware limitations or running time is absolutely critical.

That being said, you can be efficient and maintain proper standards as far as readability and scaling goes. Not always, but mostly.
 
Joined
Nov 30, 2013
Messages
409
Reputation
140
Daps
527
Breh, I don't know who told you that but that is not true. In most cases, that would be correct but sometimes efficiency matters and is priority.

oh absolutely. i was perhaps too overzealous in my 'good code is clean code' evangelism.

There are times where there are hardware limitations or running time is absolutely critical.

True, but imo this is how coding for efficiency should be done. Code for readability first and then profile. Identify where the bottlenecks are first, implement the fix and then profile again to verify that the new system is more space / run-time efficient.

There's a lot of neurotic / type A programmers out there that use clever 'hacks' which i suppose might be considered to be efficient in principle, but when you start digging around you see that it's the total opposite. if there's a more efficient / aesthetically unappealing alternative to a piece of code you better make damn sure that it's more efficient. don't take my word for it, don't take anyone's word for it, prove it. profile.

and obviously what i'm saying mostly applies to programming languages that depend on virtual machines like java. for C & C++ the onus is entirely on you as a programmer to write good efficient code, not the machine running the code.
 

Type Username Here

Not a new member
Joined
Apr 30, 2012
Messages
16,368
Reputation
2,385
Daps
32,641
Reppin
humans
oh absolutely. i was perhaps too overzealous in my 'good code is clean code' evangelism.



True, but imo this is how coding for efficiency should be done. Code for readability first and then profile. Identify where the bottlenecks are first, implement the fix and then profile again to verify that the new system is more space / run-time efficient.

There's a lot of neurotic / type A programmers out there that use clever 'hacks' which i suppose might be considered to be efficient in principle, but when you start digging around you see that it's the total opposite. if there's a more efficient / aesthetically unappealing alternative to a piece of code you better make damn sure that it's more efficient. don't take my word for it, don't take anyone's word for it, prove it. profile.

and obviously what i'm saying mostly applies to programming languages that depend on virtual machines like java. for C & C++ the onus is entirely on you as a programmer to write good efficient code, not the machine running the code.


Right, I know exactly the type you're referring to. I wasn't speaking about them though.

Programming encompasses a large spectrum. Some apps, programs projects, front end or Web programming doesn't require an efficiency first mentality for the most part. But if you're programming data compression, encryption algorithms, dealing with hardware limitations or counting on time, it's going to get a bit ugly relatively speaking. Memory management, Bitwise operations, bit masking, and bit manipulations become crucial.
 
Joined
Nov 30, 2013
Messages
409
Reputation
140
Daps
527
But if you're programming data compression, encryption algorithms, dealing with hardware limitations or counting on time, it's going to get a bit ugly relatively speaking. Memory management, Bitwise operations, bit masking, and bit manipulations become crucial.

Indeed. You are absolutely correct. Again, I was referring to the less sophisticated 'high-level' programmers; the ones who might not even know what bit masking is and have an increased chance of shooting themselves in the foot due to their own ignorance.

I've found that once you move away from OOP languages and go to the procedural languages like C, which are mostly low-level then programming culture shifts. The emphasis is not so much on having good readable code that agrees with your general intuition. The emphasis is more on having terse & efficient code. I remember when I first learned C, I used to complain lots about the Prof's code as it seemed to be more complicated & confusing than it needed to be. I suppose that if you're an old-school programmer you're more used to that though.
 
Joined
Nov 30, 2013
Messages
409
Reputation
140
Daps
527
One of my favorite things I've learned is how Nintendo and other devs from about the Arcade days through NES to about midway through Super Nintendo life cycle programmed all their games in fukking assembly language.

We owe a lot to the OG programmers from the 70s and 80s. Shyt back then used to be tough, man but they laid the groundwork for the kinds of work that the relatively unsophisticated programmers of our generation do.

you should also read the history of naughty dog if you haven't already. http://ca.ign.com/articles/2013/10/04/rising-to-greatness-the-history-of-naughty-dog

it all started with a bunch of 12 year olds, an unused Apple II computer and a whole lot of free time. shyt is mad inspiring.
 

Type Username Here

Not a new member
Joined
Apr 30, 2012
Messages
16,368
Reputation
2,385
Daps
32,641
Reppin
humans
We owe a lot to the OG programmers from the 70s and 80s. Shyt back then used to be tough, man but they laid the groundwork for the kinds of work that the relatively unsophisticated programmers of our generation do.

you should also read the history of naughty dog if you haven't already. http://ca.ign.com/articles/2013/10/04/rising-to-greatness-the-history-of-naughty-dog

it all started with a bunch of 12 year olds, an unused Apple II computer and a whole lot of free time. shyt is mad inspiring.


I will read it. I was in awe of some of the shyt I learned man, not only in the software side, but the hardware too. Go read on how Pong was made. shyt is crazy.
 

Sane

All Star
Joined
Dec 10, 2013
Messages
4,718
Reputation
1,320
Daps
8,477
Reppin
London Town
We owe a lot to the OG programmers from the 70s and 80s. Shyt back then used to be tough, man but they laid the groundwork for the kinds of work that the relatively unsophisticated programmers of our generation do.

you should also read the history of naughty dog if you haven't already. http://ca.ign.com/articles/2013/10/04/rising-to-greatness-the-history-of-naughty-dog

it all started with a bunch of 12 year olds, an unused Apple II computer and a whole lot of free time. shyt is mad inspiring.
:salute:

@MarsPunka Your coding now? :lupe::leon:
 

Sane

All Star
Joined
Dec 10, 2013
Messages
4,718
Reputation
1,320
Daps
8,477
Reppin
London Town
Teaching myself so I can make a mobile game and start my own gaming company :blessed:
:leon: Didn't know you were a gamer like that? Good Luck, its certainly possible. You know the kid who made Flappy Birds was apparently making 50k a day :whew:
Make sure you learn the fundamentals though:ufdup: Control flow, structures, etc etc. That way your understanding of programming wont be dependent one programming language, and you'll find easier to learn other languages.
Nice to see some women coders as well. :salute:
 

Arishok

No
Supporter
Joined
Aug 30, 2013
Messages
11,571
Reputation
3,520
Daps
30,419
Reppin
The 'Go
:leon: Didn't know you were a gamer like that? Good Luck, its certainly possible. You know the kid who made Flappy Birds was apparently making 50k a day :whew:
Make sure you learn the fundamentals though:ufdup: Control flow, structures, etc etc. That way your understanding of programming wont be dependent one programming language, and you'll find easier to learn other languages.
Nice to see some women coders as well. :salute:
Yeah I was on After Hours Programming going through the Python tutorial, I also bought a book I could read while out. Just trying to make sure I understand what everything does, that lesson on classes had me like :merchant:
 

Sane

All Star
Joined
Dec 10, 2013
Messages
4,718
Reputation
1,320
Daps
8,477
Reppin
London Town
Yeah I was on After Hours Programming going through the Python tutorial, I also bought a book I could read while out. Just trying to make sure I understand what everything does, that lesson on classes had me like :merchant:
:russ: Yeah the whole Object Oriented classes thing can be a little daunting and difficult to understand at first. But once you get it your like :blessed::whoo:.
It's a good idea to type out any of the code examples and run them, as it will help make things click in your head easier. And make sure you complete those exercises :ufdup:don't skip 'em.
 

Arishok

No
Supporter
Joined
Aug 30, 2013
Messages
11,571
Reputation
3,520
Daps
30,419
Reppin
The 'Go
:russ: Yeah the whole Object Oriented classes thing can be a little daunting and difficult to understand at first. But once you get it your like :blessed::whoo:.
It's a good idea to type out any of the code examples and run them, as it will help make things click in your head easier. And make sure you complete those exercises :ufdup:don't skip 'em.
Yeah since I got 100% of the After Hours Programming website quiz, I started another website called "Learn Python the hard way" which means I actually have to write code, no copying and pasting. I feel like reading about to make sure you understand what everything means and does and then going back and actually doing the exercises are easier, that way you know "Oh I'm doing a for loop which does blah, blah, blah" and you're just learning the syntax. To me learning syntax and what the operation does at the same time is difficult.
 
Top