Live data from Hacker News

Tales of coding from a beginner

medium.com

31–40 of 87 posts

Re: Tales of coding from a beginner

#31
post #7

> Equals is a lie: = ≠ = This has occurred opposite to me while learning Mathematics. As a programmer, who has been learning fundamental mathematics from the past year, the whole assignment/equivalence thing screwed me up so many times.

In pure functional programming, = = = (bindings are unmodifiable, and it's easier to substitute equals for equals).

The assignment operator should have been <- or something other than = from the beginning. I wonder if there was some discussion about that, back in the day?

Re: Tales of coding from a beginner

#32
post #29

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.

That's a good sound bite statement but does not really follow from the original post, nor seems to be very accurate. What exactly is the relation between a chef work and a programmer, and what is the equivalent of recipe in programming?

Both professions involve applying techniques, management and processes to ensure that a product is created to a predictable standard. I believe there are numerous significant practical similarities between the two professions. Experienced individuals may be able to take an idea directly to code, but for software projects developed by teams of mere mortals, there are well establishing engineering processes that are shown to give a project the best chance of success.

> what is the equivalent of recipe in programming?

A software design of course.

Re: Tales of coding from a beginner

#33
post #7

> Equals is a lie: = ≠ = This has occurred opposite to me while learning Mathematics. As a programmer, who has been learning fundamental mathematics from the past year, the whole assignment/equivalence thing screwed me up so many times.

In pure functional programming, = = = (bindings are unmodifiable, and it's easier to substitute equals for equals). The assignment operator should have been <- or something other than = from the beginning. I wonder if there was some discussion about that, back in the day?

as it was in algol day. :=

Re: Tales of coding from a beginner

#34

Earlier quoted context omitted.

In pure functional programming, = = = (bindings are unmodifiable, and it's easier to substitute equals for equals). The assignment operator should have been <- or something other than = from the beginning. I wonder if there was some discussion about that, back in the day?

as it was in algol day. :=

Or in many functional languages you might say something like

    a 
Which is quite intuitive.

Re: Tales of coding from a beginner

#36
post #7

> Equals is a lie: = ≠ = This has occurred opposite to me while learning Mathematics. As a programmer, who has been learning fundamental mathematics from the past year, the whole assignment/equivalence thing screwed me up so many times.

This is easier in languages which use the "let a = b" verb: mostly functional languages and basic.

Re: Tales of coding from a beginner

#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 of things bit by bit, but in the last few days in particular I have taken up a small project and gone down a road of:

* Python

* PyCharm (and IDEs in general - anything beyond syntax highlighting)

* React

* Node

* npm

* Babel

* Git

* Github

* Gulp

* Browserify

* File watchers in PyCharm

* Bootstrap

* React-bootstrap

* sqlite

* Database integration in PyCharm

* jQuery (the only thing on this list I have any previous experience with)

* Moment.js

In the time it has taken me just to understand how all these things work together and the way I need to use them, I would've been able to fully complete the project I am working on if I were just using PHP and FileZilla, hah. As it stands, I'd say I'm about 5% in to it.

Absolutely worth it though. I've made many revelations along the way and am definitely seeing how amazingly useful these tools (the IDEs in particular) can be once you have a grasp on them.

Re: Tales of coding from a beginner

#38
post #7

> Equals is a lie: = ≠ = This has occurred opposite to me while learning Mathematics. As a programmer, who has been learning fundamental mathematics from the past year, the whole assignment/equivalence thing screwed me up so many times.

In pure functional programming, = = = (bindings are unmodifiable, and it's easier to substitute equals for equals). The assignment operator should have been <- or something other than = from the beginning. I wonder if there was some discussion about that, back in the day?

Back in the day a large proportion of languages used = for equality and something else for assignment. That something else might have been e.g.

* := (Algol-style :=, not Go-style).

* A non-ASCII arrow character (surprisingly not always a a)

* A keyword (SET a TO 1)

So yes, there was certainly a lot of discussion about it, but in the end this is also just a minor design detail. It's just an accident of history that we ended up with =- as-assignment being the norm.

Re: Tales of coding from a beginner

#39
post #29

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.

That's a good sound bite statement but does not really follow from the original post, nor seems to be very accurate. What exactly is the relation between a chef work and a programmer, and what is the equivalent of recipe in programming?

Probably, chef work is not that similar to programming. Construction would be more prolific analogy. Note using of construction related language in software world, eg "development", "architecture".

Re: Tales of coding from a beginner

#40
post #22

Question: I'm curious to hear other people's experiences with "4. Stop asking questions". I ask questions quite a bit. It does slow me down. But I feel like if I understand something, I can move faster in the longer term, besides the value derived from just understanding how the system/abstraction works.

I think the point is not to get paralysed by the desire to know everything at once. Each question tends to just give rise to ten more. Which is fine for someone who has a conceptual understanding of programming-in-general (whether from studying it academically or just being more experienced/talented), enabling them to contextualise all that information. But for the beginner who is trying to self-tech (self-learn?), e…

To elaborate, the goal should be to move forward by cycling between asking questions and doing something:

Ask question Do something (ie bang out code)

The "do something" will never be perfect, so don't waste hours trying to understand the theory perfectly. Use the coding time as a way to both test your knowledge and drive further questions.

This is why it's helpful to pick a motivating project while learning to code. It keeps you moving ahead and makes sure the "question time" is truly filling in the knowledge gaps you need to fill in.

Post reply on HN