2,355 karma · joined March 23, 2013
Based on what people tend to complain about, some languages have more should-be-avoided parts than others. I guess no language is perfect... but that is so obvious that it doesn't need to be mentioned. Yeah, no language is perfect. But it's still interesting to see which ones are the least "perfect".
I don't get this tendency to want to muddy the waters with appeals to "nothing is perfect". Nothing is perfect, but some things sure seem to suck 5 times or more than other things.
(For that matter - it actually does seem like there are languages where you at least don't have to actively avoid parts of the language. Maybe they're not the best or currently the ones which are recommended, but it's not like people say that you should avoid them because they might trip you up in a weird way.)
[1] (How Scala [Typesafe] is doing "everything wrong")
Isn't it weird that we have to use auxiliary,learned tools as an analogy to how an innate tool works, and not the other way around? It's not like we don't have a lot of experience with thinking and forgetting, ourselves.
(Note that I wrote "weak type system", not "weak typing". "Weak" here is a just a generic adjective, and not meant to be precise.)
Just 20%? Sounds like a good deal, considering those that brag that brag that "over half of our code base are just tests!". I don't know if that kind of thing is fashionable or widespread any more, though.
> Type errors tend to be very few and far between compared to logic errors.
The divide between type errors and logic errors is entirely dependent on the language and the discipline/inclination of the developers. In some languages, what you might think of as "logic errors" can easily be moved to "type errors". And in that regard, the difference between what is unit testable and statically typeable is also entirely dependent on the language and the discipline/inclination of the developer. So what might have to be expressed as unit tests in one language, might be checked by the static type system in another language.
But I can understand how some people might think that static type systems are only for catching things like "error: expected addition of integers, but got attempt at adding an integer with a FireTruck". ;)
> That may be more natural than the current tendency to sleep - or try to - in one stretch.
Just because people did it up until very recently doesn't necessarily say anything about whether it is healthy or not. Up until very recently we didn't have electricity, which meant that we were more limited when it comes to what we could do at certain hours of the day-night cycle.
The fact that people did it up until very recently says that people were able to survive reasonably well with that lifestyle, as a species. But "healthy" is more than that: you can live an unhealthy lifestyle, reproduce, maybe even help raise your grandchildren, and die at 60 of cancer or some heart-related disease.
The other side of the coin is that: just because we can, doesn't mean that we should! Just because we can stay up until 3 am and read books or stuff on the Web, doesn't mean that it is good for us. Maybe some restraint might be in order.
You're funny.
Equivalent in a computational sense.
This might have more to do with how "evolutionary psychology"-sounding theories are presented on Web fora than how they are used in a more academic setting. You can easily run across participants on Web fora who almost admit to just making up shit on the spot that fit with the phenomena that they are presented with, based on their expert knowledge of Stone Age humans.
That seems a bit disingenuous, since iteration and general recursion are fundamentally equivalent. So you could say that "recursion is just a special case of iteration".
Unless we're talking about specific iterations like iterating over a list, I guess.
Hmm.
But suggest that common workers should have some collective bargaining power and people are all afraid of them going too far and abusing their power. I guess they're afraid that they will have to pay 10 cents more for their coffee at Starbucks because of some greedy barrista union. The common worker banding together like that, that's too dangerous! Better have everyman and woman to themselves, and trust corporations, rich people and politicians to do the right thing.
I think the best solution is to be able to make some kind of annotation, or other way of declaration, on a function that says "this function should be no worse than this". In Scala's case, for example tailrec. I'm unfortunately having a hard time with coming up with other, specific examples, but the gist of it is that the compiler either manages to do all the work on the function itself and the functions that that function calls, or errors out and reports what it couldn't do. Ideally I would want to make 10 functions which are all pure and referentially transparent, call all those functions from a top function with some kind of annotation that gives some demands with regards to optimizations, and then have that function be transformed to a single, efficient, fused loop with no allocations or intermediary values that are unnecessary. But like I mentioned, the hard part seems to be in actually specifying what your demands are.
It seems we finally have enough stuff and comforts[1] to be able to question what exactly we need more of in order to find fulfilment. That seems like a relatively recent shift. And some people - for themselves - are finding that instead of pursuing things that might one day fulfil you, they can instead try to find things that fulfil them right now. And not in the sense of drugs or anything like that; it might be just an ordinary education and eventually an ordinary career. But it has more to do with letting yourself try to enjoy the journey, instead of pining for "finally finishing college", or "finally getting that raise", or "finally retiring".
I think that if we see a massive shift towards happiness, society might look from the outside as being quite the same, and most people's lives will look "mediocre". But the difference will be in how people appreciate everything around them, instead of being annoying obstacles towards an ever-moving goal.
[1] Maybe we had enough 30-40 years ago, compared to today.
In my intro-to-java-class, indirection was one of the first things we learnt when we learnt about objects: variables hold a reference to an object, not the object itself. I don't understand why pointers are somehow a great insight that is exclusive to lower-level programmers.
And if a java person ended up trying to make a method that swaps two primitive values, they'd have to learn about the distinction between passing a primitive value into a method as opposed to passing a reference to an object.
At least it sounds like nice variety. It's probably easier to do 40 hours of study + 30+ hours of exercise a week, rather than 70 hours of studying medicine or whatever.
Aah, a Luddite, seize him!
Maybe it's not anti-technology as much as anti-cram-everything-into-the-browser. Some people think that full-fledged applications should be kept out of the browser, but that doesn't mean that they think that full-fledged applications shouldn't exist at all.
> Please do not post such comments again, there are people on here that will not realize you're joking.
What is so dangerous about someone having the opinion that HTML shouldn't get more features? This "be careful what you say"-tone is so weird to me, on this topic.
> Bananabread
A 3D shooter in the browser. So what? Yes there are advantages to having this power, but not everyone is going to agree that it is worth it.