HN user

VaidasC

14 karma
Posts0
Comments11
View on HN
No posts found.

Fair enough, I had no intention to minimize your problems or deny existence of the problems. Just by description of symptoms (which I didn't knew were only small part), I put forward another possibility.

I can only imagine that its frustrating to hear such comments over and over again from people who have no idea about your situation. However the problem is that partially this is the problem of rampant ADHD miss-diagnoses which creates natural tendency to first question it.

At least to me, symptoms you wrote sound totally normal and not necessary ADHD. Of course since nowadays everything that deviates from common character traits is considered ADHD... You could take a look at MBTI character types and find out that this is very normal for some (e.g. INTP).

Interesting technique. But I cannot help to think that it is good mostly for people who are already good (or at least not that bad) at context switching anyways.

What I mean is that many people, inherently are more chaotic, and over-structuring their lives is counter productive. It could make productivity constant but overall worse.

Thinking about psychology of this, I believe this might be good to "right brained" types, but it would be such a burden for someone who solves problems mainly via extroverted intuition - random thoughts that are generated so quickly and without any structure - you would need to write down something every few seconds basically, forget about actually doing something.

I would like to put forward another perspective.

I notice that in software industry there is common recommendation of doing some project (or just hack something) to to learn or get better at something. This advice I think is solid and is generally good for many people.

However, I feel that it is not valid or valid only in very limited way to some people. This all depends on character types I guess. E. g. myself, if I ever tried following it I would not get anywhere, because projects for the sake of projects is something my mind has big problems with. It's simply not in my nature. I would argue that regarding this point I am part of silent minority in IT industry since I noticed quite a few developers who are similar in this regard.

So what is alternative if projects/portfolio/... might not be a thing for you. What works for me:

1. Concentrate on Theory. This addresses few things: I must understand theory to not get frustrated, I m more interested in theory than practice in general, Often theory is just enough and mind will just find solution when you need.

A. Concentrate more on studying theory.

B. Use micro-projects just for testing and understanding concepts, not something useful by itself.

C. Study "best practices". To compensate for project problem.

2. Look for a way to have goals (projects) forced on you. Addresses few things: it frees your mind from over-thinking (e.g. "whats the big purpose of this?"), it must be done - you cannot just quit when lose interest/reason-to-continue.

A. Hobby. Join online courses with assignments, university (if it allows).

B. Job. Try to look for positions with more "projects".

Well, whatever your opinion is of Spring (mine is negative) or however you look at this you need to acknowledge that Spring MVC is probably the best Java "Action" framework. Combine it with the fact that it's most popular framework too (arguably above JSF) and also the fact that people get things done with it on consistent basis.

My only complaints are something along the lines you mentioned - Spring overall and MVC specifically to me is framework without philosophy. It once had very clear philosophy, but now it become just mixture of features and multiple ways to do same thing. Once it was like "understand principals and let your mind do the magic", now its more like "there are no principles, just multiple snippet for doing thing you want - just Google it when you'll need it". Basically, it's no longer rewarding.

Second complaint is - Spring MVC, despite being so popular, is just not a 5 minute project setup technology, setting it takes time.

I don't follow this too much, so might be talking nonsense, however I don't understand where all this fuss is coming from.

From the start of this I interpreted situation this way - Java's goal was "run everywhere" (wherever it succeeded or not is for everyone to decide, but its irrelevant here). Java JDK follows this goal with main license requirement - you can implement your own SDK, but you should take all APIs, not part of it - all or nothing deal. Goal being that programs from main JDK should run on your new SDK.

This principle was violated by Google and I just don't see why anyone would support Google side from rational point of view (not talking about morality, innovation or whatever).

Sorry, but in my opinion, this kind of attitude in software development community is the main reason why we are in useless flame-wars all the time as an industry.

So common pattern: pick something that is totally and utterly irrelevant in regards to main message and dismiss the whole thing so arrogantly.

In my mind this is the root of many problems in our industry and world overall. Big discussion regarding ideas are just not possible, because so many considers The Message as just a combination of words/arguments in isolation, but it is not, it is so much more!

For me personally, main problem with Scala is somewhat hard to explain, but can be summarized with few very abstract phrases which are overlapping:

* Dirty (opposite of Clean) language.

* Relationship between theory and practice is so far away from being "1 to 1".

* "Not In My Head" anti-patterns (something that will constantly require checking your notes/internet if you haven't worked with it within e.g. a month) everywhere.

Everything seems to be made overcomplicated on purpose for no reason (apart from JVM compatibility I guess, which is no excuse for me as user). Starting from simple things, variable function declarations, so many ways to declare functions, so much theory on var/val/def/lazy/ and how they differ at some corner cases. Function vs. Method stuff in combination with currying/partial application makes things so overcomplicated with so many corner cases which I will never be able to remember. I mean I have many pages of my notes from time I studied Scala, consisting just of corner cases and explanations of why they are present.

If you consider how Golang is viewed by many - as huge step back in our knowledge of language design. I consider Scala as step back in what is known in clean code, overall lessons from designing nice products. It just makes me feel like, it betrays everything I care internally and if Scala becomes dominant platform, it would just show to me that we as an industry just don't have standards and can accept just anything, we will never have something nice, close to perfect.

So my stance on Scala:

* If you just want to learn functional programming - pick something else, F# for me looked a lot cleaner and much closer to "1 to 1" - you can just apply functional theory without fighting the language.

* If you looking for language to make you happy - don't pick Scala. Unless you're into "The Abyss" thing @ Crockford.

* If this is for the money or because it sucks less than X (e.g. Java) in some ways - Scala is good consideration.

Yes, you right, Scala comunity tend to be friendly and helpful when you want to learn something. But only until you criticize something about Scala :) That's at least my experience. After some critique I even had some private emails saying that "yes, I feel the same" but nobody dared to step in and say it publically. Maybe they just learned the lesson.