He just kept talking in one long incredibly unbroken sentence moving from topic to topic so that no one had a chance to interrupt, it was really quite hypnotic.
Ruby’s popularity in the early 10s thanks to Ruby on Rails feels like it happened by accident. The language is hard to read and low performance, but Rails is completely automagic. But this is also the worst thing about rails. You create your app fast, but then maintaining it is expensive because you can’t onboard new developers easily. Even if they’re familiar with rails’ automagicisms, it will take them quite some time to parse what the hell the code is doing.
Meanwhile I seem to recall Ruby’s creator finding the situation of his language being popular because he’d created it as an experiment and never thought it would be used in production grade environments
<span style="color:#323232;">for item in array do
</span><span style="color:#323232;"> puts item[:name]
</span><span style="color:#323232;">end
</span>
Whew, iterating and working with data in Ruby is so hard. How does anyone read this stuff.
low performance
Ruby is a syntax-sugar-loaded C-wrapper, just like Python and countless other languages that don’t compile straight to machine code. If anything other than C and Rust are slow to you, then sure, maybe Ruby isn’t a good fit for your project (but Crystal might be).
create your app fast
Damn right, I’m two or three times as productive as I ever was in C#/Razor, Java/Spring or kludging through the countless JS boilerplate-heavy web frameworks.
but then maintaining it is expensive
As with any app that grows into something successful and widely used, technical complexity becomes exponential. I’ve found once web applications grow to a certain number of models and controllers, the relationships between them start to grow exponentially as well. This means one small change can ripple throughout your application and have unintended consequences where you least expect.
This is not even remotely a unique problem to Ruby. It’s happened across every project I’ve seen that grows beyond 30 models and a couple of dozen controllers, regardless of language. This is why unit testing is so important.
But, specifically you mentioned you can’t “onboard new developers easily”. I don’t see how. I’ve taken two CS grads straight out of college and had them adding features with tests within a couple of days on Ruby projects. Ruby was designed to be most friendly to humans, not the compiler. If Rails is what is tripping you up, imagine trying to learn a new web framework on top of an even more complicated language than Ruby. I just don’t see this argument at all, from my experiences.
Ruby’s creator finding the situation of his language being popular because he’d created it as an experiment
Pretty sure most any language that was created by an individual and not by BigCorp™ is a feat in and of itself. This speaks more widely to a language’s capabilities and value if it can reach popularity without corporate backing. This argument seems to imply that because of it’s origin, it will always be some kind of experimental toy that was never intended for wide-use.
Meanwhile, Linus Torvalds:
I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones.
Things have to start somewhere, I guess?
I kindly ask you to be more constructive in your criticism of Ruby. It’s a great, powerful language with a low barrier to entry. There’s no reason to spread FUD about it.
First time I’ve ever heard someone call a for loop “weird“. They’ve been around for 50 years 😂
The whole point was on readability, not trying to make rubocop be quiet. Sure, .each is great, but I’m not sure about it being shorthand. What did you save? Like 3 characters? I find the for loop more readable unless I’m method chaining.
Not in ruby, the for loop was initially put there to make it friendly for people from other languages and is discouraged. It’s just syntax sugar on top of each.
It’s valid syntax, it’s part of Ruby. It’s easy to read and familiar across many languages. Write what you want to write, I’m not sure why you feel the need to finger wag.
Was about to say as someone who’s been using Ruby for over a decade, 8 of which professionally, I’ve never once come across a for loop. each on the other hand, all day every day.
Yeah there’s multiple people in here saying that and it seems like maybe they’ve never actually written Ruby. I don’t think Ruby is a good language for writing business apps in, but it’s incredibly easy to read. Way easier than pretty much every single language out there.
Now if you start including shit like rails, sure. But that’s not Ruby. That a framework and just like Spring or Django or Boost or whatever, it has its own semantics and can be incredibly difficult to read. That has nothing to do with the language though.
Which benchmark are you talking about? The most common I know of is the computer language benchmarks game, here’s a nice implementation of it.. You can see ruby is actually a decent bit faster.
It’s an annoyingly persistent myth that ruby is significantly slower than python.
My experience with contributing to gitlab has actually not been as you describe. Fairly fast responses, obviously targeted releases so I knew when to try and finish any Mr adjustments, bots that provided excellent aid and even ability to ask for subsystem specialist help, when CI shot out confusing errors that appeared unrelated. Frankly, I was impressed. I understand not every feature or bug would go this way, but if you follow their guidelines, get product road map positioning, it works. The amount of commits going in to main are incredible. The number of MRs they handle is equally impressive.
All of that said, I’ve still got issues in gitlab that are seven+ years old, without any movement. But I get it that they have to prioritize and contributions are a different story.
ForgeFed is an ActivityPub Extension to allow cross-forge (git server) issues, pull requests etc. without having to create an account on each server. Forgejo (a Gitea soft-fork) is actively working on this integration.
Having this feature would be very useful. Many big open source projects run their own gitlab instance, which add extra frictions for contributing because you need yet another gitlab account just for those projects.
He presented the issue with gitlab very well. Setting up an entire new account is the major reason (besides time) I don’t contribute to projects on other gitlab instances. For some reason Gitlab management didn’t think it important at all (maybe even considered it a feature).
Their documentation has been frustratingly outdated at times too. But since GitHub is MS owned there are better options. I prefer codeberg for having an actual account on.
Yeah, been using GitLab semi-professionally for a while and have accounts on multiple instances, it never asked me to have a credit card on file, and I just don’t put in a phone number. Saying that it requires it is sensationalism.
I guess Canada also doesn’t need credit cards. But as you can see from this comment, there are countries in which credit cards are required: lemmy.one/comment/3041845
Rust may be good and all, but I doubt it’s magically always write good A+ code, I’m sure some developers will slap all their code inside unsafe as a shortcut.
Ha, such a loser. Real programmers use C.ԥ[��\�q��r��8-߿�ʱT�xd]�UG���S;���v�o������ՠ��N�iYtsfv���@ֿ��Qj�\�Q��_"�$�:� �����0��y��G�6�K!{Ȯ������Z�n�˭s�\��ڣ�:J��1���e�k=�${�Z�3�k~67D�����K���(�P.��v�0��a�����d���6e?=�v�)���a��bF���R��4>�˕�G�=��v-�dP��O�3��+A�nw�|ъ�f۽b�oF�I`'�#��:��̴g>�j:^���O�mu^U�l�A�oI�’�.��j>Dm\����y��2T��8w�D"1������ת«Q����l�"�C�{��������% �_�A�߸�=t��� �X��m�9R�x��)�a�-���tbL�����Ǣs��d$oMZ��4I1jXD���
Segmentation fault
C# is Java except from Microsoft, which means it’s designed and much more integrated with Windows. The official .net core even brings telemetry right out of the box. Using C# apps on Linux is a pain, which is very bad considering it’s supposed to be like Java - compile once, run anywhere - except Java actually achieves it.
Also, Minecraft runs on Java. Therefore, C# is useless. Boom, destroyed /s
Rust v3: “It’s three hours and I’m still compiling dependencies”
EDIT: Also, “What does Option[Arc[Mutex[BTreeMap[String, Box[RefCell[Box[amp mut F>>>>>>> where F : Fn(T) -> U in your essay mean?” (srry, I didn’t come up with a better obscure data type, it’s probably gibberish)
EDIT2: Lemmy deletes ‘less than’ sign for some damn reason (time to build Lemmy at home?)
I don’t think you should criticize a language that you clearly have not even learnt the syntax of. Dependencies are also a one-time compile and linking just your own program or library does not take very long, and if you’ve ever worked with C languages it’s all the same.
Just because you don’t know how to read a languages syntax doesn’t mean it’s bad, it’s just like how you have to learn anything else. Rust is quite self-explanatory afterwards.
EDIT: Well, it depends. If you statically compile everything with C build systems, in that sense, the speed should not differ from generic cargo workload. Although, in most cases, projects written in C are dynamically linked due to several reasons, one of which is code speed. In practice, even huge projects written in C (30k to 10k LOC) build quicker than C++ or Rust.
I’m not pooping on generics, either. Generics is a saviour for correctness and performance. Yet, I want to point out the type creep is still a thing, even though there’s little we can do about it.
Anyways, this thread should be better interpreted with humor, instead of technical accuracy.
it can run on almost any browser, it can be bundled to run on desktop or mobile. i know wasm exists but javascript is still sadly an extremely versatile language, mostly due to its support on the web
Band practice. We were playing some rapid song with changing time signatures, so everyone was struggling to count along. I just commented on it, so got some flak, but only as a joke.
programmer_humor
Newest
This magazine is from a federated server and may be incomplete. Browse more on the original instance.