Live data from Hacker News

How to improve your programming skills

antoarts.com

71–80 of 93 posts

Re: How to improve your programming skills

#71
post #59
post #39

Earlier quoted context omitted.

Counting proper languages I actually wrote something useful in, my path looks like: C64 BASIC -> C64 raw machine code -> QBasic -> x86 raw machine code -> Turbo Pascal -> C -> Visual Basic -> Java -> O'Caml -> Delphi7 -> Python -> C++ -> Erlang -> C# -> Haskell -> F# -> JavaScript To keep learning very different languages is also what guarantees you will be able to get a good job when your bread-and-butter language f…

> Java and C++ are designed for serious work. In these, you take types, error checking and exceptions seriously, you keep the code clean and robust, and you R the FM thoroughly for every single external function you call. So how do they compare to Haskell, especially when it comes to types and code cleanliness? For those who don't have Haskell listed in their path, I'll tell you: Haskell takes types a lot more seriou…

So how do they compare to Haskell, especially when it comes to types and code cleanliness?

They let you compile code that has no possible way of working.

it's a compilation error to not check for a lot of problems

Oooh, Java has this too! Checked exceptions!

Oh, but except for the RuntimeError class of exceptions, that is, but errors never happen at runtime, right?

Re: How to improve your programming skills

#72
post #67
post #65

Earlier quoted context omitted.

Ah, alright, I see what mean. So the general idea is to create something that will help make other people's lives easier?

Yeah. It's a good way to come up with a concrete idea, and it has the benefit of, y'know, actually helping people. (And helping people sometimes has the benefit of turning into paying work in the future.)

Awesome. Thanks for all the insight! I appreciate it.

Re: How to improve your programming skills

#73

Earlier quoted context omitted.

I've heard about a lot as well, especially in the banking industry, yet not actually met anyone. Does anyone have any data or any numbers on how much someone can get paid doing cobol legacy maintenance? Just for educational purposes of course.

An article [1] showed up on HN a while ago. In it the author gave a list of business which run their entire business on the mainframe. I work as a Java dev in rail transportation. The author is dead-on right - COBOL runs the world. 1. http://www.javacodegeeks.com/2011/06/hate-java-fight-wrong-b...

Yeah I remember that article, just don't see many jobs available, or any kinds of approximate numbers on what you could make for doing full time COBOL

Re: How to improve your programming skills

#74
post #48

Earlier quoted context omitted.

i always hear about how many jobs there are for cobol programmers to maintain legacy code. i've never actually met any though. maybe they all commit suicide.

I've heard about a lot as well, especially in the banking industry, yet not actually met anyone. Does anyone have any data or any numbers on how much someone can get paid doing cobol legacy maintenance? Just for educational purposes of course.

A lot of banks still have mainframes lurking somewhere on which they run (legacy?) accounting and settlement systems. Interestingly, a lot of the mainframe / COBOL programming jobs are outsourced, mainly to Indian companies. Infosys and TCS (the two huge outsourcing shops) actually train some graduates in Cobol / Mainframe programming. When I worked at ${Wall Street Bank}, we had an outsourced team in Chennai looking after a mainframe system. I had a quite a shock when I visited the Chennai office and discovered that most of the guys were straight out of college!

Re: How to improve your programming skills

#75

> 10. Don’t rush to StackOverflow. Think! Disagree with this one. My rule is, "If you get stuck for more than 10 minutes, post to StackOverflow." I'll post my question then continue trying to solve it myself. Sometimes someone will post a good answer right away, saving me lots of time. Other times I'll end up solving my problem on my own, but I'll still learn something valuable from a comment or answer somebody posts…

Yeah, that one stuck out for me. Pen and paper is a good way of solving problems in your own code. If your problem is interfacing with some external library/system/framework, which 95% of my difficult-to-fix problems seem to be, Google is often the only solution.

Re: How to improve your programming skills

#76
post #48
post #39

Earlier quoted context omitted.

Counting proper languages I actually wrote something useful in, my path looks like: C64 BASIC -> C64 raw machine code -> QBasic -> x86 raw machine code -> Turbo Pascal -> C -> Visual Basic -> Java -> O'Caml -> Delphi7 -> Python -> C++ -> Erlang -> C# -> Haskell -> F# -> JavaScript To keep learning very different languages is also what guarantees you will be able to get a good job when your bread-and-butter language f…

i always hear about how many jobs there are for cobol programmers to maintain legacy code. i've never actually met any though. maybe they all commit suicide.

My only encounter with the mythical COBOL Legacy Architect was at one job where we indadvertedly shared a desk. Since he was only in the office about 2 hours a months, others had assumed it was an empty cube and put me there. The rest of the time, he was making consulting bank in his mountain cabin. I think other than myself and the CIO, maybe 3 people knew who the guy was.

The flipside is that probably 90% of mainframe programmers were washed out of the industry in the mid-1990s. I remember seeing tons of useless resumes full of RPG and JCL and no C++/Oracle/Java/WinNT or whatever was hot back then.

Re: How to improve your programming skills

#78
post #17

11. Rewrite something that desperately needs to be rewritten. So many times I've encountered something and thought, "I can't believe that people are actually expected to use this software." It was bad from a user perspective: difficult to use, slow, tedious to do what you actually needed to do, unable to "get there from here". Then once I looked under the hood, it was often worse: built upon a horribly designed data…

Instead of rewriting something, you should really refactor it until it is beautiful. Unless the original author was really stupid, you are bound to go through all the same errors and dead-ends the original author went through on his first try.

Re: How to improve your programming skills

#79
post #17

11. Rewrite something that desperately needs to be rewritten. So many times I've encountered something and thought, "I can't believe that people are actually expected to use this software." It was bad from a user perspective: difficult to use, slow, tedious to do what you actually needed to do, unable to "get there from here". Then once I looked under the hood, it was often worse: built upon a horribly designed data…

Instead of rewriting something, you should really refactor it until it is beautiful. Unless the original author was really stupid, you are bound to go through all the same errors and dead-ends the original author went through on his first try.

I thought that edw519 was actually talking about incremental rewriting, i.e. refactoring.

Re: How to improve your programming skills

#80
1. Learn paradigms, kinds of problems and computer science fundamentals.

2. Work on poorly-run large projects with (a) performance problems or (b) code organisation problems.

3. Work on other projects with developers that use (1) to solve the problems of (2). You'll be surprised how quickly you learn when you've seen the benefits to be had by doing things better... ;)

Post reply on HN