405 karma · joined March 16, 2016
"Flagrantly violate the Hungarian-esque concept that function parameters and other high visibility symbols must be given meaningful names, but that Hungarian type warts all by themselves make excellent temporary variable names."
A common mini-"Hungarianism" in most people's code is the naming convention of boolean variables and functions, usually by prefixing the name with 'is' + 'has' + 'can' and/or suffixing the name with a question mark (if the language allows it). I thought this was a near universal convention but every once in a while I come across code that doesn't follow this rule, to which I go - "Really?" (Although I will say that combining true Hungarian notation with that - e.g. bIsAbleToDoThing - seems too redundant.)
On a semi-related note, I wonder why such seemingly little slip-ups (not even the worst examples in the article, which are unlikely to find in the wild anyway) in the mere naming and formatting of things can become so irritating to us programmers. Why do things like Hungarian notation seem to hurt the readability of a program, despite usually just being the addition of just one letter to an identifier? You would think that we should just easily be able to ignore and look past these little things, but it's difficult not to notice them, even if you kind of get used to working on shitty code.
Another thing is not just handling adults, but younger people. Of course there are some kids that may take a keen interest in OS internals, but then there are those who will keenly take advice they see on the internet to delete System32, so there's the need for some degree of 'safety'. Although I suppose I'm extrapolating a little, as it's pretty easy to shoot yourself in the foot in most OSes nowadays anyway, in spite of the default protections Windows/macOS offers.
EDIT: I wouldn't say that all assembly is unreadable or anything like that (for instance, I find inline assembly easier and more readable than using compiler intrinsics for stuff like AMD64 SIMD instructions). I'm just saying that having more code around isn't exactly always a bad thing.
import std.array : uninitializedArray;
int a; /+ defaults to '0' +/
int b = void; /+ not initialized +/
bool[5] c; /+ defaults to array of 'false' +/
auto d = uninitializedArray!(bool[])(5); /+ not initialized +/Facebook uses D a lot internally IIRC, although I'm not sure if many of the tools they made have been open-sourced.
To any Rust pros here, I'm curious: how long did it take for you to really get to grips with the language, coming from say, a C/C++ background?
Although, I agree with you: a Lisp (probably Racket or Scheme) is a much better bet for learning the functional style.
http://lists.gnu.org/archive/html/bug-bash/2001-02/msg00054....
http://sro.sussex.ac.uk/14073/1/p5469.pdf
http://www.daysyn.com/Types-of-Syn.html
Unfortunately, couldn't find that much data on the specific kind of "time-space" synesthesia that was mentioned in the article. Bummer.
My dad still uses a Vista desktop regularly (a 2007 install) and as far as I can tell it still works perfectly fine for him. I suppose he's probably leaving far too much to chance, but still.
http://danmalarkey.github.io/schema/ http://responsivebp.com/ http://getbase.org/ http://getskeleton.com/ https://www.myresponsee.com/ http://html5-ninja.com/icecream/ http://www.fitgrd.com/ http://lightuikit.in/ http://bulma.io/
It's important not to go down the slippery slope of adding too much functionality, in my opinion - look at Reddit, for instance. Structurally, very similar to HN, but I'd say it adds a little too much control and detail to the end user. Do I need to know a comment's exact karma rating, the ammount of users online in a subreddit? Does there need to be two different submit buttons? It goes on and on...