I would say that a big ball of crap qualifies as bad.
HN user
cyberprunes
I used dart for a couple projects just around it's 1.0 release. I really liked it back then. They were working on some neat ideas. I remember futures and streams being really really interesting in 2013 or so. Originally Dart was competing directly with Typescript. It wasn't clear who would win at the time. Typescript focused on being a superset of JS and Dart made the mistake of trying to push its own VM into the browser which never really got traction and so transpiling to JS and depending on gwt was the only answer for dart on the web (I think) and the js output was pretty hairy. Dart web was dead. Go was already getting popular on the backend and so Dart had nowhere left to go until Flutter. Dart's fate is now Flutter's fate.
I would revise that to say "The Knowledge Graph View is mostly bullshit". That seems to be the core of the argument anyway.
It's not about "node flexing" and neither is it about letting the system do the work for you. You still have to do the work of turning information into understanding.
I agree that we lean on things that are often too complex for our given tasks (the industry encourages it) but I'm going to push back with a little Rust rant. I'd argue that RUST is actually represents a simplification not a complication. Perhaps GC was an over-complication. Perhaps app/system language separation was an over-complication. Perhaps the idea that memory/cpu limits don't matter because there is always more on the way because hardware keeps improving royally screwed us. Perhaps OOP is a disastrous over-complication. Perhaps energy costs and efficient resource management is actually a hell of a lot more important than we believed it was. Look at all the bloat we blindly accept in the name of productivity which in many cases is dubious. Rust may not be the be all end all of languages but it does shine a bright light on the brain rot that has consumed the software industry.
I like the interest in modernizing the terminal as an interface. There's still room for innovation and improvement. That's probably the big reason. Unfortunately this push is mired in app culture yak shaving bloatware bullshit (with a few exceptions). I'm surprised the market hasn't been flooded with Web3 DAPP terminal apps that will "revolutionize the terminal somehow, bro". Anyway, I love the enthusiasm but I'm not using a 100MB+ terminal app that requires a cloud account. I'll keep on BASHING like its 1989, thank you.
That's legendary stuff right there
Word
I would encourage you to at least consider that your issue is a bug or perhaps a wsl version issue rather than throw your hands up and point to a conclusion from years ago that windows is a pretty toy and just not up to the task.
I'm not much of a Windows fan but I do understand the usefulness and convenience of having a linux dev environment when forced to use windows for one reason or another.
Whenever a white person claims reverse racism or discrimination and then brings to light what that instance entailed I have yet to find that it comes close to what a black person experiences as racism. (Maybe you are different) It may feel unfair to you but you just aren't going to get far on the white people experience racism too argument. It's a loser except among other white people with hurt feelings.
I was inclined to agree until the choice to use the term "colored person". That's an obvious and well known racist trope with very recent historical ties to segregation. I'm not sure if it was a deliberate statement on political correctness but I really think it undermines your argument and makes it seem like a disingenuous crock of horse manure.
Disagree. Sure rust has a notable syntax tax (not what it used to be) but that's the easy part! It's the concepts and mindset that are the biggest hurdle in Rust. Going to C++ first won't help you there. If you already know it, great but Rust is a different language and you'll spend a lot time trying to transfer C++isms over until you realize writing effective Rust is not like writing effective C++ and you go through a process of unlearning. In my view, learning C++ for the purpose of learning Rust is massive waste of time.
That's great advice.
I want to agree with this because teaching IS a great learning tool but one needs to have some idea of what they are doing. Teaching helps to identify the problem areas we fool ourselves into believing we understand well.
Youtube is an amazing resource but it's also an ocean of incompetence and phony expertise by people doing exactly what you prescribe. Just be careful not to contribute to the ever expanding circle jerk of self congratulatory mediocrity. No one wants that.
Man, you just summed up my exact struggle as well.
Ah, that gets to heart of the problem!
If you understand data structures and algorithms then, in my view, it demonstrates that 1. You recognize the importance of understanding the principles and foundations of your field. 2. You understand that knowing the fundamentals isn't about "writing algorithms everyday", it's about growing your ability to think deeply and creatively about a problem without constantly flailing around in ignorance.
I often hear that learning algorithms / data structures is pointless these days because it encourages reinventing the wheel or it wastes time. I believe the opposite is true. People who are ignorant will keep reinventing the wheel, they just won't realize they are doing it and how poorly they are doing it.
Learning algorithms and data structures will enhance your ability to write software because you will have a deeper understanding of how things work. When you understand how things work you can build interesting things.
Of course, if you just want to be a non-contributing faceless code monkey at a corporation where you don't matter and get a decent paycheck well, you probably can skate by in mediocrity. If you want to be able to build things that don't rely entirely on the work of others that actually understood what they were doing then you need to put in the time. The return on that investment lasts a lifetime.
Good question. I've been using Rust exclusively for a few months. I came from C#/python. typical GC'd application languages.
With Rust I don't think you have to choose.
Once you "get" the borrow checker and understand the ownership model Rust becomes very productive and feels like a high level language. There's a little noise in the syntax but what you get in return is so worth it. There are quite a bit of high level features to take advantage of that "compile away" with so called zero-cost abstractions.
It's a legit low level language in the sense that you can write a legit OS. No GC, guaranteed memory safety. It's bonkers.
I believe it is blurring the lines of what it means to be high/low level.
Well that seems overly broad and meaningless. Care to expand on that?
The fundamentals never change. If I had to guess, your anxiety is from an overload of information and paralysis by analysis. It's easy to get lost in noise.
I remind myself of this whenever I feel like I'm being swallowed up in a rabbit hole of videos and opinions.
Do you have a math background? The thing that ultimately saved me from what I think is a similar problem to yours, and bear with me, is mathematics, particularly Discrete Math. I learned to program long before I discovered an interest in mathematics and the difference in skill, confidence and happiness is stark.
Many programmers go on about how math is not really necessary for programming. They are wrong. Sure, you can get by and you can do creative things and have a job that doesn't require "CS theory" but you'll be forever hamstrung by the torrent of shit being hurled at you from every direction at all times. You'll forever be at the mercy of bad tutorials, shortcuts and conveniences.
Mathematical thinking is the antidote to this kind of paralysis and insecurity. It's the power of knowing how similar things really are in computing and how little it's really changed. It's the power to eliminate bullshit.
You'll still have to learn new languages and tech but you'll be far greater equipped to detect and avoid the garbage.
Mathematical thinking is a super power in this field.
My advice as an internet nobody:
Don't worry about that dumb crap. JS is a good language. It's come a long way since its dark early days.
People who shit on JS and on those that like it are usually not worth your time. I find those people are more interested in displaying their intellect or superiority by being condescending. It's not helpful.
Read and watch Douglas Crockford if you haven't. He has extracted the best aspects of Javascript to focus on. If you take his advice then I believe you will find JS to be a very good companion.
Just don't let JS be your only language. No language should be your only language.
As others have pointed out, a lot of application development rarely requires solving typical CS problems. One can go a long time building things without such formal knowledge. I agree with that and I'm glad that the field is available to anyone that loves to program regardless of schooling. BUT
The problem is thinking that "It's ok!" to spend your career in ignorance because your job doesn't involve inventing new algorithms or pondering theory. That's just lazy. I know, I did that for years too, not knowing why I should bother since I'm doing just fine without it! That is the arrogance of ignorance at work. I guarantee that you don't know how miserable you really are.
It's not about passing whiteboard interviews, it's about achieving a deep understanding of fundamentals. It will change and improve the way you think and approach problems. It will improve your software regardless of whether or not it involves an actual "CS problem" because your mind will be elevated. I did the same thing for years, I whined about "whiteboard interviews that don't effectively display my skills and unique gifts to do the job". It's a dumb mindset.
My advice as an internet nobody would be: Now that you've seen that you are struggling in this area, work on it! Don't let these people encourage you to remain ignorant. Advocating for ignorance is shit that propagates shit.
Ultimately, understanding the principles of your field will make you better. It's not about the damn whiteboard!
System76. I have a 2017 Oryx pro. Its fantastic. Not perfect, nothing is but as a developer it’s the best laptop I’ve owned. The specs trounce anything Apple.
System76 is also one of the only companies that sells machines that is committed to Open source, linux and hardware. They recently released their own Linux distro Pop_OS!. Its a really well put together Ubuntu based distro. Great design and continuity.
They recently opened a factory and are designing and building their machines in house. You get lifetime support.
I don’t work for them but I really can’t say enough nice things about them.
They are worth a look.
1.
In my view, audiobooks are a complete waste of time for retaining information unless you are highly engaged and not distracted. The droves of multitaskers that "mind hack / life hack" themselves by listening to audiobooks at 2x+ speeds while "getting shit done" are deluding themselves and descending into stupidity. Read, god dammit! Read! You have to read deeply and deliberately. Seriously, audio books are a good supplement but not a replacement. You cannot be educated "on the go" with audio books. Anything worth learning will demand your full attention. That's my opinion.
Still, tanking 800M in 5 days is not great. I doubt the United board is saying.."SO".