Even in 2024, I say that Ruby is one of the best common languages available. While there are some weird syntax choices, and a lot of rope to hang yourself with when it comes to subjects like metaprogramming, it is a better Python than Python, in that it has a clean way to approach problems, and a simple structure to make coding clean and easy. The best part of Ruby is that its tooling is great at pushing best practices, like concise methods, good naming conventions, tests with single/aligned assertions, etc. I’ve taken many lessons from Ruby into other languages I use.
Rails, on the other hand, is totally different. Today, Zed Shaw’s essay on Rails is as accurate as ever, in that many Rails shops have just ignored years of best practices on the web, and opt to do things their way because it’s “better”.
Sometimes I can understand this struggle. For example let’s play a game. There is this app from e-foundation “Blisslauncher” it’s the default of eOS. And since I like it but don’t use eOS I want to download the apk from their gitlab page.
They actually call the android releases “cookies” because of this tradition for the code names. You can read phrases like “This will be fixed in the next cookie”
Being generally as flexible as a dry straw, not owning the cool open-toe tights, missing the ability to see through my own abdomen, and I don't use Apple products.
I get it, haha. I know this is a programmer community, but it’s funny to me to think of programming as a progression beyond traditional engineering disciplines, rather than along side them.
I’m in engineering school and the ethos definitely is “engineers write bad code but it’s for simple tasks involving complex math.” As the world of engineering steers more and more towards coding we’re definitely going to be expected to write applications instead of simple Matlab scripts and there’s no way it’s going to be pleasant.
I believe that if an Electrical Engineer has qualification as a programmer then the two fields become the higher discipline “Computer Engineer.” At least most universities arrange their classifications as such.
Comp Sci is not engineering. Programming is not engineering. I don’t mean this in an elitist way, it just flat-out doesn’t fit with other engineering fields. It’s firmly in the T area of STEM, not the E.
Computer engineering is the hardware level of designing and building computers, it might involve firmware depending on the job and the area but it’s way closer to electrical engineering than software engineering. Software engineering is also very different than computer science.
Software engineering is called that because it is the equivalent of engineering in software. You are engineering and designing a product/system. Computer science is more of the theoretical side, more detailed study of algorithms and math, etc.
What do you think of electrical engineers? Is that “real” enough to be called engineering?
Computer Engineering is hardware engineering for Computers, with some programming. It’s a child of Electrical Engineering, just like Electrical Engineering is sort of a child of Mechanical Engineering.
The part where you have to fundamentally understand how hardware actually works, ie how transistors, integrated circuits, and logic gates actually work on a physical level.
You’re thinking of Software Engineering, and even then you’d still be off.
The point where I was using my master’s in computer engineering to design physical chips? You know, using my fundamental understanding of electricity, magnetism, and the physics that come along with it.
Don’t use OpenAI’s outdated tools. Also, don’t rely on prompt engineering to force the output to conform. Instead, use a local LLM and something like jsonformer or parserllm which can provably output well-formed/parseable text.
I’ll be informal to boost your intuition. You know how a parser can reject invalid inputs? Parsers can be generated from grammars, so we can think of the grammars themselves as rejecting invalid inputs too. When we use a grammar for generation, every generated output will be a valid input when parsed, because the grammar can’t build any invalid sentences (by definition!)
For example, suppose we want to generate a JSON object. The grammar for JSON objects starts with an opening curly brace “{”. This means that every parser which accepts JSON objects (and rejects everything else) must start by accepting “{”. So, our generator must start by emitting a “{” as well. Since our language-modeling generators work over probability distributions, this can be accomplished by setting the probability of every token which doesn’t start with “{” to zero.
programmer_humor
Top
This magazine is from a federated server and may be incomplete. Browse more on the original instance.