Live data from Hacker News

Tales of coding from a beginner

medium.com

61–70 of 87 posts

Re: Tales of coding from a beginner

#61

Earlier quoted context omitted.

Also note that a chef does not come up with their recipes in the kitchen, and neither should a good programmer.

This sounds like a statement from the 90's when 'software architects' and UML were still a thing. Thankfully we are over this. "Designing software" away from the code only works in theory. You will only find out whether your design works during coding and testing, or even later when the software is already in the hands of the user. The only way to good software is through constant rewrite. Make a rough plan, but be p…

Thank you for saying that. The amoubt of times ive written something down, coded it and realised a better way had me thinking i was missing a lot.

Although dont get me wrong, there is still a truck load i need to learn just to finish my current project! (Although finally i feel like im getting somewhere!)

Re: Tales of coding from a beginner

#62
post #37

> Setting up is something that fully fledged developers still battle with. Amen to that. I have made a perfectly successful, 10+ year career of development in PHP with some JS sprinkled in there. But I still do it in FileZilla and Notepad++. Lately, I have been trying to learn about newer technologies so I have taken up learning JS more seriously using WebStrom and Python using PyCharm. I've been picking up all kinds…

I started getting trapped into what you're complaining about, and now say it's worth it, but what happens when something better comes along or something gets abandoned? What happens if three of those things on your list become a problem? Is it a house of cards?

My company always followed this statement I made up years ago, "Everything should be as simple as possible", but we started bending to large contracts that insisted we use "just one thing", some framework or library or tool, that they used which we found no use for. That made it "easier" for the next client to say, "Well, since you use that, you can use this", and all of a sudden we're getting bogged down wondering which tool is the best, learning those tools, keeping track of the latest changes, dealing with incompatibilities, integrating and interfacing, and on and on.

All of a sudden I realized we had a list of things we never worked with before, or even needed, for our small $2.x million web dev company but it felt like we spent far too much time dealing with them.

So we were in a meeting, a meeting we put together just to solve the problems of updating and integrating problems when it hit me what was going on and I yelled, "STOP!". It was a "wtf are we doing?" moment.

We had lost our direction. We had almost gotten to the point where we couldn't nail two pieces of wood together cause we didn't have an air hose for our pneumatic nail gun.

(I just realized I"m writing a book here so I'll get to the end.)

We went back to the fundamentals. We're a web dev company and we use ONE programming language, ONE source control, with HTML/CSS/Javascript. Almost always the tools we need are available on FreeBSD/*nix. We're more relaxed, faster, quick to adapt, and if a customer really insists on using something we don't, then it's either on them to deal with it or we hire a freelancer but then treat him as a black box interface to that with no contact otherwise.

And now I'm bored writing about this.

Re: Tales of coding from a beginner

#63
post #50

When a good friend of mine started to ask about learning programming I answered that “be ready to do it every day, be ready to learn for the next 10 years” asked him to seriously think about that and we’ll talk again in a week there is much more to it, but imho those are the 2 points that I’ve seen somehow valid for the last 20 years or so and when I read “I’ve been on again off again with it” I thought “first mistak…

I think I'm going to use this comment for friends asking if they should start programming. Especially the do it every day think is quite important I believe. Thanks for sharing this.

Re: Tales of coding from a beginner

#64
post #57

Earlier quoted context omitted.

That seems only to be a problem for native English speakers. Programming, coding, hacking, tinkering, etc... is all pretty much the same. Also, personally I think it has an elitism smell ('software engineering' is the worst). We shouldn't pretend that a 'professional software engineer' fresh from university can in any way produce better code than an 'amateur' who's at it for 20 years, because in my experience the exp…

"Producing code" is to programming as chopping vegetables is to cooking. It dumbs it down and devalues it - deliberately so.

So what should we call "painting"?

Re: Tales of coding from a beginner

#65
post #13

9. Learn to call it programming, not "coding". It's like a professional chef referring to what they do as "chopping".

For me, "software engineering" is even better term.

"Software engineering" certanly feels better but I think generally our work is closer to a craft than an engineering practice; imagine if we built bridges, tunnels and planes as we build software - catastrophes every day!

Re: Tales of coding from a beginner

#66
post #37

> Setting up is something that fully fledged developers still battle with. Amen to that. I have made a perfectly successful, 10+ year career of development in PHP with some JS sprinkled in there. But I still do it in FileZilla and Notepad++. Lately, I have been trying to learn about newer technologies so I have taken up learning JS more seriously using WebStrom and Python using PyCharm. I've been picking up all kinds…

I started getting trapped into what you're complaining about, and now say it's worth it, but what happens when something better comes along or something gets abandoned? What happens if three of those things on your list become a problem? Is it a house of cards? My company always followed this statement I made up years ago, "Everything should be as simple as possible", but we started bending to large contracts that in…

Agree totally on the struggle being worth it. I'm not really complaining (at this moment, anyway, hah.

It is amazing how fragile it makes everything seem. I think a lot of those tools are safe, but yeah seemingly at any moment something could be abandoned or there could be some other drastic change in the chain.

Example: I can't even remember the specifies of this, but somewhere along the line I was having a hard time working with some npm module and while searching for answers I discovered multiple sources saying the module was "blacklisted". This eventually led me to an easy working replacement, but I still have no idea what the "blacklisting" means - it was still available on npmjs.com.

Also, building my Gulpfile.js was very interesting (and time consuming!). Seemingly so many different ways to approach it and I'm honestly not even quite clear on how I got it to work right so hopefully that doesn't break on me.

The only part of all this I expect to act on at my actual work, for now, is the IDE. I think I could really benefit from getting myself up and running on PHPStorm instead of Notepad++/FileZilla.

Re: Tales of coding from a beginner

#67
post #64
post #57

Earlier quoted context omitted.

"Producing code" is to programming as chopping vegetables is to cooking. It dumbs it down and devalues it - deliberately so.

So what should we call "painting"?

If you would equate painting a fence to painting a portrait.

Re: Tales of coding from a beginner

#68
post #37

> Setting up is something that fully fledged developers still battle with. Amen to that. I have made a perfectly successful, 10+ year career of development in PHP with some JS sprinkled in there. But I still do it in FileZilla and Notepad++. Lately, I have been trying to learn about newer technologies so I have taken up learning JS more seriously using WebStrom and Python using PyCharm. I've been picking up all kinds…

I started getting trapped into what you're complaining about, and now say it's worth it, but what happens when something better comes along or something gets abandoned? What happens if three of those things on your list become a problem? Is it a house of cards? My company always followed this statement I made up years ago, "Everything should be as simple as possible", but we started bending to large contracts that in…

It goes for lots of technologies. There are a few dozen filesystems around and new ones being developed all the time. But I say XFS was pretty good in the 90s, it's pretty good now, and I don't see the need to revisit the "what filesystem shall we use" question 'til at least 2030. Let's get some real work done instead.

Re: Tales of coding from a beginner

#69

"3. Equals is a lie: = ≠ =" This is why languages like Pascal (and it's descendents) use := as assignment. There are contradictory opinions about sytnax among programmers. Many programmers don't like the example assignment syntax above, but then many programmers also say that syntax is a relatively minor aspect of learning a language (even though the syntax of a language shapes the way you think about solving problem…

Single assignment languages are a big help here too.

http://erlang.org/pipermail/erlang-questions/2001-November/0...

Re: Tales of coding from a beginner

#70
post #6

Personally, I've always read '=' as meaning the left hand side was equal to the right. So if I see x = 5 then I'm already assigning the value of 5 to x, because they're equal! Does that make sense? Curious to see what others think, because before reading this article, I didn't even realize that was a particular tripping point for anyone looking to start programming.

All I know that R's assignment notation, `<-`, bugged the hell out of me after years of equals-sign-assignment...but after playing around with R, I naturally and accidentally use `<-` in Python and other traditional assignment languages.
Post reply on HN