Earlier quoted context omitted.
I'm sorry but you are reducing a career to a mere interest. Changing hobbies is not the same as trying to change what you did for a living for the past decade.
Careers are not cast in stone. Some people do change their careers if they realize that there's something else that they'd really rather be doing with their lives. I've met an artist who became a doctor, a lawyer who became a stockbroker, a software developer who became a full-time professional musician, a professor who started a hedge fund, etc.
Ask HN: How to rediscover the joy of programming?
311–320 of 337 posts
Re: Ask HN: How to rediscover the joy of programming?
#312Earlier quoted context omitted.
>>> In my current job I write Python, which I really don't like very much and I get burned out on Python-specific things. I've used Ruby for several years, and I love the language. I wish I could use it today, in my daily stack, but unfortunately, Python won in the marketplace. Syntactically, Ruby and Python are pretty much equivalent, with Ruby appealing more to me. However, Python won - no arguments. Got to go with…
That doesn't make any sense. Use the right tool for the job. If "the winner" was all that mattered, we'd all be using Java now, and it would remain the top language forever, as long as it makes any sense at all to use -- not even requiring it to make more sense than other options.
It is less of a problem for mature ecosystem and tools, but being in the "not winner" position will likely induce negative effects in the long term technological progress. (I am sure there are many counterexamples)
Re: Ask HN: How to rediscover the joy of programming?
#313Earlier quoted context omitted.
Yeah, in CL the 0.1 is read syntax for a float (IEEE-754ish on most modern implementations.) If you want exactly 0.1, you’d have to say 1/10. The printer is probably cheating and rounding to the output you expect (I think Python 3 may do this now?) Aside from financial applications, there’s very little reason to care about the trailing remainder.
> The printer is probably cheating and rounding to the output you expect northrup@Topaz:~$ sbcl This is SBCL 1.5.8, an implementation of ANSI Common Lisp. More information about SBCL is available at . SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more…
CL-USER(3): (rational (+ 0.1 0.2))
5033165/16777216
CL-USER(3): (rational 0.3)
5033165/16777216Re: Ask HN: How to rediscover the joy of programming?
#314I had the same issue. Then I went back to the roots: Lisp And learned Clojure. You will feel like you know nothing. You will feel handicapped. You will be confused. Then, one day, you will understand what simplicity means and how Clojure's design embraces that more than in any other language I know. By then you will have embraced the flying-by-your-pants-exploratory style of programming at the REPL. And don't want to…
> You will feel handicapped. You will be confused. For anyone who wants to learn Clojure (or any Lisp) from scratch, here's my advice: Don't try to learn it by reading books. What I mean: don't try to mentally parse and analyze printed code written in Clojure. For uninitiated Clojure code may look like unreadable gibberish. If you try to understand Clojure code by merely staring at it, it may feel very exhausting. Re…
Re: Ask HN: How to rediscover the joy of programming?
#315Earlier quoted context omitted.
> You will feel handicapped. You will be confused. For anyone who wants to learn Clojure (or any Lisp) from scratch, here's my advice: Don't try to learn it by reading books. What I mean: don't try to mentally parse and analyze printed code written in Clojure. For uninitiated Clojure code may look like unreadable gibberish. If you try to understand Clojure code by merely staring at it, it may feel very exhausting. Re…
How is printed clojure code from regular clojure code? Sounds like a maintenance nightmare if the code can't be understood just by reading it.
After some time it becomes clear - Lisp is not harder to read. For some people, it's the other way around - going back to languages with C-like syntax may feel awkward.
Re: Ask HN: How to rediscover the joy of programming?
#316Earlier quoted context omitted.
Javascript's biggest problem is its lack of a standard library. Hence the ridiculous churn of trivial libraries such as leftpad.
Lack of standard library doesn't account for web framework churn, though. Momentarily seemed like we had coalesced around Vue and React, and here comes Svelte, among others. It's incessant.
Re: Ask HN: How to rediscover the joy of programming?
#317Earlier quoted context omitted.
And the rest of the book deals with why it is more often than not painful. In summary, it's complexity. Brooks argues that software, being a pure thought-stuff, is also the most complex thing we attempt to build. And it's even worse now than in his time with any concern for quality taking a back seat in the face of competitive pressures. So it's not really surprising that slapping together ever more complex systems o…
It's so weird to me that software's complexity is such a force of nature. My instinct is that no implementation of a piece of software should ever need to be more complex than the idea of it is (fully and precisely articulated, of course). Yet the code is usually orders of magnitude more complex than that. I don't understand why we can't solve this problem.
The paper also discusses that you can separate a program into
1. state (data that changes over time)
2. behavior (computational logic)
In order to reduce the accidental complexity, you can use functional programming (which is purely behavior, devoid of complexity due to state mutation) for the behavior part. For the state part, you can use a relational database to manage it in a more systematic manner. They call it functional-relational approach to software design.
If you do game development, you likely heard of ECS (entity-component-system) and data oriented programming which in a way promotes this approach to software design.
Re: Ask HN: How to rediscover the joy of programming?
#318My current problem is that I write Javascript/TypeScript at work and have come to absolutely loathe every aspect of it because I've been working with much, much better languages at home for hobby projects (Elm, PureScript, stuff like that). While I have not really lost the love for programming, I've discovered the sheer amount of work one has to do in JS/TS for the smallest payoff. Sure, the languages I'm using for f…
Re: Ask HN: How to rediscover the joy of programming?
#319Re: Ask HN: How to rediscover the joy of programming?
#320Earlier quoted context omitted.
Lack of standard library doesn't account for web framework churn, though. Momentarily seemed like we had coalesced around Vue and React, and here comes Svelte, among others. It's incessant.
React was released 7 years ago in may and is definitely the most dominant framework and going very strong, and will be a good career investment for years to come. I think framing that "momentarily" for yourself is making yourself very unhappy - life changes constantly, as we see with this pandemic, and we need to have a little bit or willingness to accept change every five years or so, or perhaps we need to choose a…