6 ms·
But why would you do that?
by tmin 6y ago
But why would you do that?
- throwawaygh 6y agoIt's a great learning exercise.
- Ygg2 6y agoYeah, basically a fun exercise in parsing/compiling/optimization. OTOH what makes a language usable is literally everything else - package manager, IDE support, compile/parsing.
- dragonwriter 6y ago> Yeah, basically a fun exercise in parsing/compiling/optimization. Among other things, sure. > OTOH what makes a language usable is literally everything else - package manager, IDE support, compile/parsing. You have parsing/compiling in both categories. It's easier than ever to add IDE support for your homemade language, too, because of things like the LSP. Package management isn’t easy, but if you are building a specialized DSL and bundling the parts key to the domain, or if you are exposing a bridge to an existing ecosystem with strong library availability and decent package management, a language-specific package manager is probably not super important for usability.
- mpweiher 6y ago> OTOH what makes a language usable is literally everything else But that could be because we haven't had any real innovation in languages for ages, so except for some superficialities and details, the languages are essentially the same.
- efnx 6y agoMany reasons! Languages are tools for solving entire spaces of problems. There are languages for music synthesis, database relations, templating , mathematical proofs, etc - but the list is by no means exhaustive and new languages are always needed, and I bet there are wonderful languages in our future that we didn’t know we needed.
- throw_m239339 6y agoBecause every programmer should at least once. Writing a compiler/interpreter is the ultimate exercise for any CS student/professional. that and maybe a file system/database or toy OS or server, because it encompass most aspects of CS. Anybody that can do this things can probably take on any programming job, because they require a fundamental understanding of how computers and programs work. Furthermore, It also help when suggesting realistic features to other language developers, or write proposals, or assess languages themselves.
- YorickPeterse 6y agoBecause why not? It can be a fun an very insightful process, as you'll learn about and have to apply techniques you may not have heard of otherwise.
- chrisseaton 6y agoIf nobody made their own language, we wouldn't have any languages, and you'd have to write in machine code.
- mamcx 6y agoWhy not? Programming languages are not a solved problem (or parsing, or diagnostics, or...). We are today, barely, getting practical solutions to how write safely, fast and ergonomic (for example, rust) and yet: - Compiling performance is abysmal in most compiled langs (except pascal family) - And errors... - And debugging... - And interactive compilers... - And ... (thousands of other stuff) Somebody must try to do this stuff, because if not, forever will be at mercy of C, C++, JS, the shell, unix, etc. Who wanna the cobol effect forever?
- blackrock 6y agoWhy is Pascal better at compiling performance?
- jodrellblank 6y agoNicklaus Wirth cared about not wasting machine resources. He also wrote “a plea for lean software”: > “Abstract: Software's girth has surpassed its functionality, largely because hardware advances make this possible. The way to streamline software lies in disciplined methodologies and a return to the essentials. The paper discusses some causes of "fat software" and considers the Oberon system whose primary goal was to show that software can be developed with a fraction of the memory capacity and processor power usually required, without sacrificing flexibility, functionality, or user convenience.”
- mamcx 6y agoIs made to be fast. Also, C/C++/rust is made to be slow. One recent article that touch it (for rust): https://pingcap.com/blog/rust-compilation-model-calamity https://pingcap.com/blog/rust-compilation-model-calamity
- blackrock 6y agoIt seems like one problem with rust is that it is a single threaded compiler. We’ve reached the ends of fast CPUs. To gain performance improvements, we need to use multiple cores, and process it in parallel. I wonder if this is an opportunity for github or Microsoft to host a cloud compiler? Just check in your code to github, and the cloud compiler will compile it across thousands of servers, all running in parallel. Cost: $100/month per engineer.