5 ms·
This is inspiring to me, as a young computer scientist. Maybe I'll go off to create my own language and OS.
by speek 16y ago
This is inspiring to me, as a young computer scientist. Maybe I'll go off to create my own language and OS.
- pwpwp 16y agoThanks! Comments like this make blogging even more worthwhile. And go for it. There's no better way to learn CS.
- nostrademons 16y agoBe aware that it is a giant rathole. If you're looking for something commercially viable that might actually make a difference in the world, you're better off in a field like information retrieval, machine learning, geo, or image/audio processing. There seems to be a siren's call of language/OS/editor development, though. If you really can't resist it, go do it. At the very least, you'll learn a lot, and it beats CRUDscreen Web2.0 apps as a mental exercise. But other fields of CS are much, much, more useful.
- speek 16y agoI'm a systems guy who happens to be obsessed with biologically-inspired machine learning stuff. There's just something about my genetic makeup that makes me love PL/OSes, though they're more of a means to an end than anything else.
- FraaJad 16y agoIn your opinion, what languages have the best return on investment when it comes to IR, ML and related data sciences?
- nostrademons 16y agoIn my opinion, languages don't matter as much as the underlying algorithms. Learn the math, and then you can implement them in any language. ...but if you had to choose, I'd say to learn Python so you can prototype quickly, and then C++ so you can make it run fast in production. The two also have the nice benefit of working quite well together, so that you can push things into the C++ layer as you understand them better, and keep experimenting by gluing together those libraries with Python.
- dedward 16y agoAnd we used to say prototype in C++ and then re-implement in C to make it fast in production. The math and the algorithms are important - but one shouldn't dismiss a fundamental understanding of the lower levels of the system - even though they'll change over time and you probably won't have to "go there". Real-world software runs on real-world systems, and there is no reason for a budding computer scientist to deprive himself of at least a cursory understanding of how things work underneath - you never know when he'll want to break out of the toolset Vendor X provides him and do something radical and new (like implement something in hardware, or recognizing there is some feature there he can use to massive real-world benefit)