3 ms·
I feel that. I had a look at compiled languages to replace/complement my usage of python. I wanted something simple (no manual gestion of memory, thanks) and ea
by poulpy123 4y ago
I feel that. I had a look at compiled languages to replace/complement my usage of python. I wanted something simple (no manual gestion of memory, thanks) and easy to my eyes, but efficient, and if possible fresh but with a thriving community.
I looked at D, Crystal, Nim, Go, Rust, Haxe, Swift and Zig (and C/C++, even Pascal). The language I liked the most (by far) is Nim, but unfortunately the niche community makes it a no-go for using it at my job, and the lack of hype like Rust makes me pessimist about its future.
The second most interesting languages where Rust (but the borrow checker and the amount of ', |, <, > intimidate me) and go (but for a weird reason I'm not hooked by its syntax).
My conclusion was that where I work (not a dev company), I can't use nothing but java, python and javascript if I want my code to be sustainable, and that I will keep Nim or maybe Rust/Go as a low level hobby
Edit: as a funny note, during my exploration i stumbled upon array languages programming languages like K, and I'm convinced there are mainly a scheme to guarantee jobs for people using them
- goodpoint 4y ago> the lack of hype like Rust makes me pessimist about its future What really makes me pessimist is the fact that software development decisions are increasingly hype/marketing-driven than based on technical reasons.
- mejutoco 4y agoTypescript meets your requirements I believe, althought probably you are considering together with javascript. If not, it might be interesting to try it.
- poulpy123 4y agoThanks ! But by compiled I meant compiled to binary, and I guess Typescript don't do it ?
- nicoburns 4y agoIf you want to compile to a binary for ease of distribution, then you can do it with both TypeScript and Python (you just get an interpreter embedded in the binary), although in both cases you'll need to use a 3rd party tool to achieve this. If you want it for the performance then neither are good options, although JS/TS is significantly faster than Python.
- poulpy123 4y agoI indeed explore this solution for python, but it doesn't look mature yet. I will have a look at the TS/JS solution, thanks !
- cassiogo 4y agoI _think_ you can get a binary from typescript code via Deno
- goodoldneon 4y agoYou could use ncc to compile a binary: https://github.com/vercel/ncc https://github.com/vercel/ncc
- remram 4y agoTypeScript has a similar amount of <,>, and | though.
- piffey 4y agoIn a similar boat right now. Really enjoy Nim -- and have the freedom to use any language I want at work -- but can't in good conscious develop tools in Nim that have to live beyond my time at the company without at least one other Nim user on the team or a global consensus that we should use Nim. I'm trying to think back to when we all started moving from Perl to Python and it's been so long I can't even remember what that looked like and if it was senior developers driving that or just a subconscious decision and happened "magically".
- carapace 4y agoI'm doing a similar trawl. So far Julia is looking like the language to beat. https://julialang.org/ https://julialang.org/
- poulpy123 4y agoI'm actually quite interested by the scientific ecosystem of Julia, and have the project to explore it more. But when I looked at it, there was no way to create binaries (or it was something like 100MB)
- carapace 4y agosheesh, you're right. They're working on it, and it's, uh, no worse than Python, but yeah I don't think it quite counts as a compiled language yet. Thanks for the heads up.
- solidasparagus 4y agoI'd give Go a chance. The syntax grows on you IMO and I think it fits what you want (easy on the eyes is arguable). If you like Python because of how productive it is, but you need performance or a compiled binary, I think Go fills that gap well.
- JodieBenitez 4y agoYou didn't say why you want to replace/complement Python, but should you want to build web backends, Go is the obvious choice. Decent performance, relative ease of use, good GC, rich standard lib for the task, large third-party support and here to stay. I like Nim too, but it needs more adoption.
- poulpy123 4y agoA mix of wanting to try new thing, needed an easier way to distribute the software, and, why not, having better performances
- kaba0 4y agoHonestly, what is even remotely interesting about Go? I have never understood the surrounding hype.
- girvo 4y agoGo is simple, but still decent for networking services. I don't get the "hype" per se either, but it's not a bad language really, and what it does do, it does pretty well. Local maximum, if that makes sense.
- eitland 4y agoIf you have access to Java you have a good language at your disposal already, and chances are you'll get away with Kotlin too. I came to Java as my 6th or so language (small amounts of Basic, VB, C, Assembly and Javascript before) and while I absolutely didn't like it in school, once someone told me how it was supposed to be used (rely an a real IDE) it became much easier. I still continued to dabble in other languages (mostly php and python), but these days no way I would go back to Python.