Live data from Hacker News

Ask HN: How to rediscover the joy of programming?

news.ycombinator.com

151–160 of 337 posts

Re: Ask HN: How to rediscover the joy of programming?

#151
post #2

Programming is 1,000 room hotel of which we live in only one. I recommend you study different programming paradigms because in them we can find really interesting approaches to solve problems. For me those have been: - functional programming (with Haskell) - logic programming (prolog) - Constraint Programming with the excellent Coursera class on minizinc. Those paradigms made programming fun again for me . PS: I also…

Jumping in this post to recommend the exact same idea. Learn a new language outside the type of language you're used to using. I've been using my extra time indoors to learn Clojure and Forth. The things I'm learning are already changing the way I write Swift. I'm also excited about making things on microcontrollers again because Forth gives me a way to escape the horrible tooling forced on us by the chip manufacture…

Forth was the answer, at least for me.

It's hard to explain, but no other language has given me such joy in perhaps decades.

If you look back on those times where you just had a booklet and a simple BASIC interpreter or C64 Assembler crafting your tiny little applications and games without third party libraries, distracting ceremony and best-practices anxiety. Those times where you could be so proud of every little achievement because it was truly yours, and that for some reason felt your most productive years... Then you might want to give it a go.

Just don't fall for the trap of developing your own Forth. Even if that's part of the philosophy of it :)

Now I just wished there was a book akin to "Land of Lisp" but in Forth. Maybe one should...

Re: Ask HN: How to rediscover the joy of programming?

#152
post #143

Earlier quoted context omitted.

Do you have any project ideas for Agda? I used it to formalize the simply typed lambda calculus; what else should I do? After all, I can't really do "traditional" programming projects in Agda as its ecosystem is more geared towards proving. Are there any interesting projects with proofs as a focus?

I currently need help with: - (you can make it your own project) type-safe library for Matroids (in cubical agda, so different representations can be handled automatically) - If you have some Elm experience you can help me with online toy to play with cubical agda :) ( https://raw.githack.com/marcinjangrzybowski/cubeViz/master/m... In fact I would be very happy to find a collaborator for those projects. There is lot…

Wow, cool! I'm still wrapping my head around Cubical Type Theory, so I'm not sure if I can help. I don't have the mathematical background to know what Matroids are (skimming the Wikipedia page, I see some set-theory-centric definitions that talk about subsets and powersets, to what extent would they translate to type theory?).

Re: Ask HN: How to rediscover the joy of programming?

#153

Earlier quoted context omitted.

I second the nod to logic programming. I've been working on a board game engine in Prolog as a side project, and I'm having the most fun programming I've had in a very long time :)

Can you recommend some prolog learning resources? I googled a lot but it's still kinda hard for me to grok - especially CLP.

I recommend starting with [0] to get a feel for what's possible. [1] is great when you have time to dive deeper. [2] is good motivation, and [3] will show you how to build a practical roles & permissions system.

Keep in mind that you don't have to build your app in 100% prolog to use prolog. There are likely implementations in your favorite language. For example, Rust[a] JavaScript[b], and Ruby[c].

[0] https://learnxinyminutes.com/docs/prolog/ [1] https://www.metalevel.at/prolog [2] https://youtu.be/G_eYTctGZw8 [3] https://github.com/TheClause/learn-prolog/blob/master/articl...

[a] https://github.com/mthom/scryer-prolog [b] http://tau-prolog.org/ [c] https://github.com/preston/ruby-prolog

Re: Ask HN: How to rediscover the joy of programming?

#154
I sort of did, in the past year or so, in two ways.

The first thing is that as a hobby I worked with Go, just on the occasional friday project; it felt quite liberating to work in a fairly low-level, yet productive language, working on projects where quality is not an issue. I did random projects and Advent of Code projects.

The other one was Pico-8, a virtual console with a built-in editing environment. The language is LUA I believe, but since you work inside of the constrained environment, which has a screen of only 128x128 pixels, it's a very low-resolution font with only just over 30 columns wide. The code you write can be hacky and use tons of one- or two-lettered variables, it doesn't really matter; it's your code, nobody will ever collaborate on it, and with the constraints in place you can't ever write more code than you can keep in your head at one time. In theory anyway, I mean if you get ambitious you'll end up minifying your own code to make it all fit.

But anyway I digress; I managed to get a new job where I can work with Go a lot, which is giving me a fresh lease on the developer job. It's also a job where I'm the sole developer (for now), meaning I don't have to fight any political or ego-driven fights (or, much less) to do what I think is right (and in a lot of cases I just have to prove myself I'm right or wrong).

Re: Ask HN: How to rediscover the joy of programming?

#155
I'm only at around 13 years of professional programming, but I went through a period of 4-5 years where I stopped enjoying it (actually, I hated it).

What resolved it for me was pretty simple in the end: I joined a company where I really believe in the mission, and I'm surrounded by like-minded people. This has given me a great amount of motivation and reminded me that programming is a superpower. I was simply lost on where to apply this superpower.

Solving important (to me) problems has re-ignited my love of programming, and now even writing yet another piece of CRUD is fun because I believe it will make a difference in the world. I'm looking beyond just the code I'm writing down and thinking about how it helps our users, effective communication, how growth will be affected, how malleable it is, how quickly I can achieve the goal, and so on.

Another thing that helped me was researching other careers. I found a couple of things I think I would get a great deal of satisfaction from. I felt very trapped in a career I hated, and looking at another 30+ years of this was like a dark cloud over me. Giving myself an escape route gave me a lot of clarity and lifted that cloud. I can walk away at any time, if I want to.

Re: Ask HN: How to rediscover the joy of programming?

#156

Try to connect with the creative side of self, try to connect with the internal kid that used to love programming, try to connect with the 'creator' part of self. And at the beginning just do it for yourself, from pure curiosity, to sparkle the joy once again. Don't focus on programming but what would you like to create and using programming as a tool. What works for me to re-connect with the technology, when once ag…

Totally agree! I'm in a similar position, albeit not 20 years, but 3-4 years. I have realized that I have to connect with creative side of myself and do things for the enjoyment of them.

Re: Ask HN: How to rediscover the joy of programming?

#157
post #143

Earlier quoted context omitted.

I currently need help with: - (you can make it your own project) type-safe library for Matroids (in cubical agda, so different representations can be handled automatically) - If you have some Elm experience you can help me with online toy to play with cubical agda :) ( https://raw.githack.com/marcinjangrzybowski/cubeViz/master/m... In fact I would be very happy to find a collaborator for those projects. There is lot…

Wow, cool! I'm still wrapping my head around Cubical Type Theory, so I'm not sure if I can help. I don't have the mathematical background to know what Matroids are (skimming the Wikipedia page, I see some set-theory-centric definitions that talk about subsets and powersets, to what extent would they translate to type theory?).

There is nothing special about them. I am talking about simple formalisation, there is already some code about finite types in cubical-agda library, so it would be good place to start.

I think that usefull definitions and properties can be formalised in ~100h.

Matroids are known to be good example of cryptomorphic structures, so cubical agda can be used so that those cryptohmorphism can work "under the hood". I know how to do this, but I am currently working on something different. If You are interested pm me.

Re: Ask HN: How to rediscover the joy of programming?

#158
post #18

I 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…

What is the best way to get started with Clojure these days? So much has changed since the early days.

Re: Ask HN: How to rediscover the joy of programming?

#160
post #42

Earlier quoted context omitted.

As someone considering leaving the web development industry after 12 years: JavaScript is a never ending grind. Callbacks, then Bluebird, then Promises, then a sync await. a new testing framework every six months. a new web framework every couple of years. aimless, massive changes to the language (classes in a prototyped language? Why not). JavaScript then coffeescript then three versions of typescript. too many UI l…

It's like you have to constantly keep learning, but nothing you learn really matters in any deep way. It's just new names and APIs for the same stuff, month after month. Imagine if you were a woodworker making furniture. You make the same furniture every day and love your craft. But every month, someone shows up, takes all your hand tools, and replaces them all with a set that are mostly the same but slightly differe…

1000x this. One of my pet peeves is the idea that all learning is equally worthwhile. It's possible to waste one's life "learning" the inane and shallow, and it's a suffocating experience when it happens.
Post reply on HN