4 ms·
What you're describing to me is you've built a very solid structure for reasoning about programs, but it is too rigid, and too focused. I would heartily recomm
by eigenrick 11y ago
What you're describing to me is you've built a very solid structure for reasoning about programs, but it is too rigid, and too focused.
I would heartily recommend learning a new language. You need to shake things up a bit.
Two reasons:
1. https://www.wikiwand.com/en/Linguistic_relativity https://www.wikiwand.com/en/Linguistic_relativity - Our language shapes our thought. This is true for spoken and programming languages.
2. You cannot properly understand a language unless you learn another. This is partially based on point 1, but it needs to be said otherwise.
Since you're in web, I would recommend learning Elm for the front-end, and Haskell in the back-end. Why? They will force you to design your systems differently? Is it better or worse? That's subjective. The important thing is that it is different.
For data design, have a look at things like datalog. Datomic is a good playground for that.
- kovek 11y ago> ... you've built a very solid structure for reasoning about programs, but it is too rigid, and too focused. When I read "focused", I thought about deconcentration-of-attention.com . I don't know if it will solve porker's problem, but it is a very interesting read. The idea of the text is that by doing deconcentration of one's attention, it is easier to notice specific details in the whole area the attention is spread over. Meaning, if one deconcentrates one's attention over a whole painting for example, one can more easily find a specific detail on said painting. The alternative to deconcentration of attention would be to scan through the painting with effort. Deconcentration of attention is essentially the reverse of the tunnel effect.
- captn3m0 11y agoThis is the first thing that came to my mind as well. Learning a new language surely shakes things up.
- porker 11y ago> I would heartily recommend learning a new language. I've installed a nice selection of languages tonight. Can anyone suggest sample projects to do as learning exercises? My ideas a) don't need the language, b) are too complex or c) involve CRUD, and I do far too much of that every day :) TIA!
- tayo42 11y agoIsnt your reason 'a' the point of doing something like that? To learn how to solve problems a different way?
- estefan 11y agoRead "Functional Programming in Scala" or any other good book on functional programming to see things differently if you've just stuck with imperative so far. There's also http://iloveponies.github.io/120-hour-epic-sax-marathon/ http://iloveponies.github.io/120-hour-epic-sax-marathon/ Read books on concurrency ("Learning Concurrent Programming in Scala" if you carry on with scala) and then you'll find different ways to write performant concurrent code - for CRUD sites or other stuff. I'm not pushing scala rather exposure to other ways of doing things you might not have come across - functional programming, futures, akka, etc. But yeah, also design patterns. And have you read http://highscalability.com/ http://highscalability.com/ for architecture ideas?
- porker 11y agoThanks for your comment! > But yeah, also design patterns. And have you read http://highscalability.com/ http://highscalability.com/ for architecture ideas? Lots. I would love to have clients in that league (I greatly enjoy scaling, optimization, performance tuning)