Live data from Hacker News

Hopefully more controversial programming opinions

prog21.dadgum.com

31–40 of 103 posts

Re: Hopefully more controversial programming opinions

#31
post #16
post #7

It's a mistake to introduce new programmers to OOP before they understand the basics of breaking down problems and turning the solutions into code. Given how well I remember my classmates with little-to-none programming experience struggled with understanding pointers while not being able to write the simplest algorithms, I thought this was a no-brainer. Is it really a controversial opinion?

> Is it really a controversial opinion? I haven't heard anyone argue against it, but for a very long time every single curriculum out there started with either Java or C++, and had to talk about object quite early on (you can't print "hello world" in Java without it, and you can't use C++ streams either). And arguments I've heard about that practice as a proxy for your question, indicate that it is (or at least, was…

You must write a class in order to do "hello world" in Java. C++ streams don't require you to write a class, only use what appears to be a strange syntax. You can go a long way in C++ without defining any classes of your own.

Re: Hopefully more controversial programming opinions

#32

Earlier quoted context omitted.

3) That make's sense. For example... int *i; means "When you dereference i, you get an int."

When I see int a; I read "create an integer variable called a". int *i; means, "create a variable that when dereferenced, points to an integer". Makes sense once you understand it, but I can definitely understand how a beginner would find it confusing.

It may be a problem with the teaching though, rather than the subject matter itself. I understand why it takes a little bit of thinking to get used to, but not why it is fundamentally hard.

Now, algorithms can be difficult to understand and many of them use pointers... Do some people confuse the 2?

Re: Hopefully more controversial programming opinions

#33

[update: I've got hold of some of the code. Here's a copy of one of the programmes http://pastie.org/4615158 ] I have an awesome story that i think I've told before, but I'll tell it again anyway :) My father-in-law is a pharmasist. back in the early 90s computers were starting to make their way into Pharmacy and the first few pharmacy sortware packages appeared. this increased with time, as you'd expect. At some poi…

I would like to make a few points , This is only possible because your dad is the only one who has to deal with this program and also he only works on this one big complex thing which he knows really well .

Re: Hopefully more controversial programming opinions

#34
post #22

> Computer science should only be offered as a minor. You can major in biology, minor in computer science. Major in art, minor in computer science. But you can't get a degree in CS. The problem is not that Universities produce poor CS majors. They don't. The problem is that everyone else expects that a CS major is going to be a good commercial developer. Some are, but that's just the odds. If you want to be a program…

Not related to OP's post but somewhat to this comment. Can you please elaborate a bit more on the diff. between CS, SE and if possible CE too.

I'm thinking to apply for MS next fall and as far as I get it, CS is more theory oriented (models, algos, languages, more math) and SE is more application oriented (management, testing, vcs etc.). While CE is more the electrical side of it.

I'm an electrical engg. but have worked in an IT enterprise for 2+ years(mostly in ITIL, admin stuff, a couple months on development) and now I wish to learn/work more on dev projects. So SE seems to be right choice, but all major companies are generally asking for a CS degree.

I think I might need to go through the basics briefly again, but should I go for CS (over SE) just because of that(and that most corps ask for CS)?

My aim is to score a job where I get to work on app/product development, I get to write code. What would you/HN suggest - which would be a more appropriate choice?

Re: Hopefully more controversial programming opinions

#35
post #29

[update: I've got hold of some of the code. Here's a copy of one of the programmes http://pastie.org/4615158 ] I have an awesome story that i think I've told before, but I'll tell it again anyway :) My father-in-law is a pharmasist. back in the early 90s computers were starting to make their way into Pharmacy and the first few pharmacy sortware packages appeared. this increased with time, as you'd expect. At some poi…

This reminds me of a manager of mine who wrote a 10,000 line Perl script. He thought himself how to write Perl in a week. And then started coding. He wrote a script to automate a very tedious testing process so perfectly, we were able to reduce our test team by like 70% and test more precisely than before. It was fully procedural code. And it looked monstrous. Our architect challenged him that it won't workout. He ev…

Isn't your list a variation on the well known list of:

- Make it work

- Make it right

- Make it fast

http://c2.com/cgi/wiki?MakeItWorkMakeItRightMakeItFast

Re: Hopefully more controversial programming opinions

#36
post #29

[update: I've got hold of some of the code. Here's a copy of one of the programmes http://pastie.org/4615158 ] I have an awesome story that i think I've told before, but I'll tell it again anyway :) My father-in-law is a pharmasist. back in the early 90s computers were starting to make their way into Pharmacy and the first few pharmacy sortware packages appeared. this increased with time, as you'd expect. At some poi…

This reminds me of a manager of mine who wrote a 10,000 line Perl script. He thought himself how to write Perl in a week. And then started coding. He wrote a script to automate a very tedious testing process so perfectly, we were able to reduce our test team by like 70% and test more precisely than before. It was fully procedural code. And it looked monstrous. Our architect challenged him that it won't workout. He ev…

The architect sounds obsessed with Java... first sign of craziness!

Disclaimer: I like C/C++/Python.

Re: Hopefully more controversial programming opinions

#37

[update: I've got hold of some of the code. Here's a copy of one of the programmes http://pastie.org/4615158 ] I have an awesome story that i think I've told before, but I'll tell it again anyway :) My father-in-law is a pharmasist. back in the early 90s computers were starting to make their way into Pharmacy and the first few pharmacy sortware packages appeared. this increased with time, as you'd expect. At some poi…

I would like to make a few points , This is only possible because your dad is the only one who has to deal with this program and also he only works on this one big complex thing which he knows really well .

oh hell yeah, absolutely. This sort of code is not uncommon at all but is pretty much incomprehensible (let alone maintainable) for anyone beyond the original implementer

Re: Hopefully more controversial programming opinions

#38
post #10

Earlier quoted context omitted.

I wonder how much that initial version changed during the 20 years of maintenance. I find it hard to believe that someone was maintaining it for 20 years without improving the quality (of the code/design) and making it easier to maintain. Have you seen the code base of the initial version or of the version that is currently being used?

I've know my wife for the last 18 or 19 years and it was written before that, so I haven't seen the original. I have seen him debugging code in the evenings though. This consisted of printing out the entire programme (in the DBase sense a "programme" is a single file, but a programme in our sense would be a collection of dbase programmes) and the paper (dot matrix, so it's all connected) trailing all thruought the ho…

closely looking at a printout is an underrated archaic practice.

Re: Hopefully more controversial programming opinions

#39
post #5

"You shouldn't be allowed to write a library for use by other people until you have ten years of programming under your belt. If you think you know better and ignore this rule, then one day you will come to realize the mental suffering that you have inflicted upon others, and you will have to live with that knowledge for the rest of your life." stunning.

I'm actually currently in process of writing a small library, but I have only 6 years of experience. I'm frightened.

Don't be. That idea is bollocks. Experience has approximately zero correlation with ability.

(how's that for controversial?)

Re: Hopefully more controversial programming opinions

#40
post #24

I would go farther in regard to the Computer Science point. CS programs should be burnt to the ground. And in their place we should build up three separate things. First, software trade schools that are actually good (e.g. not ITT). Second, for reals software engineering majors at colleges, that are heavy on things like practical programming, tools (version control, issue tracking, automated build systems), refactori…

The problem with software trade schools, even though you may not require a pure maths focus, I still expect people who program professionally to be good at maths. I would expect most programmers to analyse algorithms in a formal manner if they have to. And the people capable of doing maths at that level are not the people that traditionally go to trade schools.

To make something fast or to make something scale you don't need a proof. You need a profiler.
Post reply on HN