Do you know about programming ?

Daniela

Chieftain
Joined
Mar 20, 2013
Messages
1
Location
Uk
Hello all,
How are you ? Serious question here. I love programming. I've been messing around with code since I was a kid. I never went the professional route, but I have coded several in-house apps for various employers, including a project I got roped into where I built an internal transaction management/reporting system for a bank. I pick stuff up quickly, understand a lot of the concepts, and feel at ease with the entire process of coding.

That all being said, I feel like I never know if my programs are any good. Sure, they work - but is the code clean, tight, well-written stuff, or would another coder look at it and slap me in the head? I see some stuff here on SO that just blows my mind and makes my attempts at coding seem completely feeble. My employers have been happy with what I've done, but without peer review, I'm in the dark otherwise.

I've looked into peer code review, but a lot of stuff can't be posted because of NDAs or confidentiality issues. A lot of you pros might have teammates to look at stuff over your shoulder or bounce ideas around with, but what about the indies and solo guys out there like me? How do you learn best practices and make sure your code is up to snuff?

Or does it not matter if it's "the best" as long as it runs as expected and provides a good UX?
 
You could use http://www.reddit.com/r/readablecode/ to see what others think of your code, how it's formatted, etc. but I think that subreddit generally just deals with formatting and not actual syntax.

What programming language do you use?
 
I don't know about programming, but I really want to learn.

I'm subscribed to r/learnprogramming and I enrolled in Rice's Intro to Python course. It started yesterday but I haven't started any lectures yet.

Is there any interest in programming puzzles here?
 
I have the same thing, I've been programming for a year now, but unfortunately more theoretically than practically, so I suck at writing good code.

We have Let's discuss computer programming thread here, which would be a good place to post your code if you want someone to review it. At least I am so lazy that I won't bother to go to anohter site to post. And I appreciate more opinions of people who I know to know something.
 
Five steps to become a good programmer:

1. Learn the fundamental infrastructure/programming paradigms (OOP, server/client, etc.) and know them inside out
2. Learn and understand basic algorithms and datastructures, in which situations they're applicable, how efficient they are under what conditions, etc.
3. Practice practice practice
4. Become very good at breaking down problems into smaller conceptual problems
5. You need to become very good at abstract thinking and modularization. This ties into 4.

You become a good programmer by.. programming! Over and over and over. It's a matter of experience, really. The fundamentals are super important though and you need to know them well, so that you can instinctively know what solution will make sense for whatever problem you're trying to solve. Cause that's all you're doing when you're programming - you're solving problems. And if you don't understand the tools available to you, meaning the algorithms and data structures available, you are going to be a crappy programmer, even if you have all the syntax memorized.

Syntax is not that important.. You can always look it up.. That, and the more code you write, the more of it will come to you naturally. But yeah, stuff you can google is stuff you shouldn't be memorizing. Like I said, the basics are uber important to understand inside and out - and none of that is syntax. It's all concepts. I've seen so many "coders" get the basics wrong.. So while they might be awesome at C++ in terms of knowing the syntax for everything, their solutions just aren't very good because they don't have a good grasp of the basics. And even if they happen to get it right, their code might not be extensible, which is very important, especially if you're working for a company where other people will be potentially taking over your code and adding new functionality.
 
"Basics" aren't always so basic.

But awareness of good programming practice is important, because the industry is not static.

Practice is crucial, but limited. You don't have the time to make every mistake and learn from it.
 
"Basics" aren't always so basic.

But awareness of good programming practice is important, because the industry is not static.

Practice is crucial, but limited. You don't have the time to make every mistake and learn from it.

True about programming practice, that's one thing I left out. Version control, etc. That's the sort of thing you mean, right?

As for practice, over time a lot of things will just come to you naturally. You will know what algorithm to use without thinking about it. You can't just learn that sort of thing
 
I make my living maintaining a huge old suite of in-house legacy software written in a moderately obscure language, where the documentation is a joke (not a very funny one). As a consequence, I write an awful lot of pretty bad code -- I normally only have time to patch things until they work after a fashion, never to do clean rewrites.
 
USE COMMENTS.

Both for the benefit of others, and yourself. Reading through code is a painful experience at the best of times, poorly organised and unexplained code is hell.
 
The bulk of the code I work with was written 20-30 years ago by long-since retired programmers who had learned their trade even earlier, in an age when storage space was really expensive and constrained. Not only are there no comments, but there's also a strong tendency to use variable names as short as possible. You can imagine the joy.
 
Back
Top Bottom