5 ms·
I don't use Racket much, but Python certainly frustrates me. So what I want to know is where people land when all these languages frustrate them. Builds taking
by akkartik 3y ago
I don't use Racket much, but Python certainly frustrates me. So what I want to know is where people land when all these languages frustrate them. Builds taking too long seems like a perennial problem, for example.
(Currently I work in LÖVE, but programs there use at least 100MB, so it probably won't be to OP's taste.)
- proxyon 3y agoTypescript. Kotlin. Java. I cannot imagine going back to Python, Ruby or PHP after using modern languages like these. Also, Java performance is good enough. Why did anyone ever abandon Java? It's easy to read, easy to write and pleasant enough to work with. If you need C level performance, by all means go with C, Go, Rust but Java to me is perfect, and Typescript is good enough for everything else.
- adamc 3y agoIn part, because the Java ecosystem kept getting more complicated. Fifteen or so years ago I was a full-time Java developer, but I wouldn't know half of what I need to know today, and I'm not very interested in going that route. Java kept the language simple-ish (not really, because they have added a lot on top of it), but the stack grew rapidly, and you have to know the tooling to function in that environment. Python remains a lot simpler. It is getting more complex, but it has miles to go before it reaches Java-land.
- nightfly 3y ago> Why did anyone ever abandon Java Boilerplate code. Java applications (mostly picking on tomcat here) being pretty much their own world of configuration, with lots of different places to look. Slow startup time pretty much kills it for lots of things I'd wanna write. It's memory management stuff sucks, from a sysadmins perspective. Any java application I deploy takes easily multiple times more memory than anything similar in a non-JVM language.
- mst 3y agoI've seen some slim running JVM stuff by developers who actually bothered to care about it - under 25Mb slim. Yes, lots of Java apps basically go "lol .... KABOOM" if you give them less than half a gig of RAM to play around in, but IMO that's a tragedy of the commons like thing within the ecosystem where common approaches mean you end up with layer upon layer of libraries none of which thought -their- RAM use was particularly egregious. At this point, it's not the runtime's fault (G1 is excellent), and while you could argue that the language design led developers to do things wrong I think it's more a culture phenomenom - I think I might consider blaming J2EE and its proponents rather than the language itself. Of course, from a sysadmin point of view, the runtime+application combination's memory usage is what matters in practice, I'm just saying the reason why you find yourself staring at the screen thinking "wait, it's using how much?!" is more complicated than "Java's memory management stuff sucks"
- tmtvl 3y agoPeople dislike Java because of all the... public void setPints (int pints) { this.pints = pints; } public int getPints () { return pints; } ...-esque stuff, and similar overly verbose constructs you get when you follow certain Best Practice guides. Personally I kinda like Java, despite it having 4 different kinds of brackets and object.method() syntax. Maybe it's the combination of 1 file 1 class and using classes for everything.
- paulddraper 3y agoUse Kotlin.
- tmtvl 3y ago...because Kotlin doesn't use different kinds of brackets and object.method() syntax? Regardless, I'll stick to Common Lisp and C for the time being, they're nice.
- paulddraper 3y agoNo, it has that. It doesn't have the -esque syntax and similar overly verbose constructs.
- dunefox 3y ago> Why did anyone ever abandon Java? Because I physically recoil when 80% of the code is "APIAccessConfigurator apiAccessConfigurator = new APIAccessConfigurator(apiAccessConfiguratorToken, new apiAccessConfigurationParameters().class)" and similar crap.
- winny314 3y agoOP here. Python frustrates me too, but I just throw poetry and nix at it... keeps me not frustrated. :D It looks like my LOVE game uses about 99M resident... not too bad given it's pulling in a lot of libraries such as SDL2, luajit, audio decoders, etc etc. I think my concern is more with how do I embed Racket on low memory systems if a simple "racket script" is going to use a large % of the RAM to issue a `(sleep)`?
- zem 3y agoanecdotally, towards the next generation of statically compiled languages, which have picked up a few affordances from the dynamic/scripting set. a lot of devops folk seem to be moving to go, for instance, and application developers have been showing some interest in rust, though personally I think it's a bit too low level to become universally popular. I wouldn't be surprised if something like crystal or native kotlin become popular down the road.
- aidenn0 3y agoI work in Common Lisp, which also is 100MB+ programs so likely won't satisfy OP either.
- schemescape 3y agoNot if you use CLISP! It seems like bytecode vs. native compilation is a large contributor to memory usage (Racket uses Chez Scheme which compiles to native; same story for Node/Deno and V8). I have a low traffic web service and I wasn't happy with ~125 MB of my 512 MB VM's memory being used up by SBCL, but I was able to just drop in CLISP and memory usage dropped to ~25 MB (and for reference: a "hello world" is under 10 MB with CLISP, similar to Python).
- kagevf 3y agoI was wondering about this. If you use clisp, are you getting from its main branch, or another more up to date branch, and if so which branch?
- schemescape 3y agoI just used what my (Linux) distribution packaged for me. I’d think it would be easy to build from source, on Linux at least.
- kagevf 3y agoThe other day on IRC, someone (pjb) mentioned that clisp is the best CL, so now I'm very curious :)
- schemescape 3y agoFYI: It doesn't support package-local nicknames :(
- tomcam 3y agoFor me it was Go. The toolchain just stays out of my way. I find Go much easier to deal with at a project level than anything else. YMMV because I'm a command-line kind of guy. Many of you will assume I'm a moron for choosing such a retrograde, simpleminded language. It's true! I am a moron compared to most HN readers. And your language is much more sophisticated than mine and had generics long before and didn't need a make keyword and stuff. No disagreement there. All I know is I can get the job done faster in Go than with Python, and I have type checking too. Plus a sane-ish package manager and a single, stable ecosystem. Plus I can deploy a single executable that even lets me embed assets inside it. It just stays the hell out of my way.