News for hackers. Stuff that matters.
Re:Racket Frustrates Me by akkartik on Friday June 30, 2023 @05:12PM (#36542353)
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.)

Re:Racket Frustrates Me by tomcam on Friday June 30, 2023 @05:41PM (#36542743)
For 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.

Re:Racket Frustrates Me by winny314 on Friday June 30, 2023 @05:20PM (#36542465)
OP 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)`?

Re:Racket Frustrates Me by aidenn0 on Friday June 30, 2023 @05:32PM (#36542607)
I work in Common Lisp, which also is 100MB+ programs so likely won't satisfy OP either.
Re:Racket Frustrates Me by schemescape on Friday June 30, 2023 @06:02PM (#36543020)
Not 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).

Re:Racket Frustrates Me by kagevf on Friday June 30, 2023 @07:18PM (#36543934)
I 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?
Re:Racket Frustrates Me by schemescape on Friday June 30, 2023 @07:39PM (#36544149)
I just used what my (Linux) distribution packaged for me. I’d think it would be easy to build from source, on Linux at least.
Re:Racket Frustrates Me by kagevf on Friday June 30, 2023 @08:01PM (#36544394)
The other day on IRC, someone (pjb) mentioned that clisp is the best CL, so now I'm very curious :)
Re:Racket Frustrates Me by schemescape on Sunday July 02, 2023 @06:47PM (#36566600)
FYI: It doesn't support package-local nicknames :(
Re:Racket Frustrates Me by zem on Friday June 30, 2023 @05:24PM (#36542515)
anecdotally, 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.
Re:Racket Frustrates Me by proxyon on Friday June 30, 2023 @05:20PM (#36542458)
Typescript. 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.

Re:Racket Frustrates Me by nightfly on Friday June 30, 2023 @05:38PM (#36542698)
> 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.

Re:Racket Frustrates Me by mst on Friday June 30, 2023 @07:11PM (#36543833)
I'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"

Re:Racket Frustrates Me by adamc on Friday June 30, 2023 @05:34PM (#36542644)
In 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.

Re:Racket Frustrates Me by tmtvl on Friday June 30, 2023 @05:52PM (#36542883)
People 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.

Re:Racket Frustrates Me by paulddraper on Friday June 30, 2023 @06:06PM (#36543083)
Use Kotlin.
Re:Racket Frustrates Me by tmtvl on Friday June 30, 2023 @06:46PM (#36543546)
...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.

Re:Racket Frustrates Me by paulddraper on Friday June 30, 2023 @06:50PM (#36543598)
No, it has that.

It doesn't have the -esque syntax and similar overly verbose constructs.

Re:Racket Frustrates Me by dunefox on Saturday July 01, 2023 @05:28AM (#36548323)
> 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.