DEV Community

Jess Lee
Jess Lee Subscriber

Posted on

What do you dislike about your favorite language?

DEV is in the process of launching a podcast and we'd love for you to be involved! We're recording the episodes in advance, and this week we'd like to know:

What do you dislike about your favorite language?

If you'd like to participate, please:

  • Call our Google Voice at at +1 (929)500-1513 and leave a message 📞
  • Send a voice memo to pod@dev.to 🎙
  • OR, if you don't want your voice recorded...just leave a comment here and we'll read your response aloud for you 🗣

cartoon-bitter-taste-reaction

Thank you!

Oldest comments (61)

Collapse
 
felipperegazio profile image
Felippe Regazio • Edited

I have multiple feelings about loving javascript so much, and i dont know how to deal with it. its a complicated relationship u.u

Collapse
 
isalevine profile image
Isa Levine • Edited

I absolutely LOVE LOVE LOVE Ruby, buuuut I am SO TIRED of typing all these frickin' underscores for snake_case! 🐍

Collapse
 
zakariatalhami profile image
ZakariaTalhami

I can relate, I use python all the time, but I always feel like camelCase flows better while typing.

Collapse
 
isalevine profile image
Isa Levine

When I'm switching between Ruby and JavaScript, I always end up writing camelCase for both and needing to rewrite a bunch of Ruby method names. You're so right, the flow of camelCase is just...better! (Which I guess means more efficient to write? Is this really just an issue of number-of-keystrokes?)

Collapse
 
scrabill profile image
Shannon Crabill

I didn't think about it until you said it, but yes, snake_case_is_annoy_to_type.

Collapse
 
isalevine profile image
Isa Levine

It feels like I always have one finger on the shift key now! 😭

Thread Thread
 
scrabill profile image
Shannon Crabill

i_feel_you

Thread Thread
 
isalevine profile image
Isa Levine

But does your pinky finger feel me? Cuz mine doesn't feel anything anymore 😂

Collapse
 
andrewbrown profile image
Andrew Brown 🇨🇦

but_i_love_underscores.

Collapse
 
isalevine profile image
Isa Levine

Me too!.......after they're written. Just not before and during. ;)

Collapse
 
stephanie profile image
Stephanie Handsteiner

Doing PHP I can relate, even more so, because it isn't even consistent about it, some are snakes, some aren't.

Collapse
 
megatux profile image
Cristian Molina • Edited

I find snake_case a bit easier/faster to read. It's obvious if you think that "_" it's a better visual separator than a case change.

Collapse
 
codemouse92 profile image
Jason C. McDonald

I love Python, but there's one thing that drives me nuts about it: negative binary notation. There has to be a better way to represent infinite leading 1s than undoing two's complement and sticking a negative sign in front. It makes bit-twiddling infinitely difficult.

Collapse
 
hyftar profile image
Simon Landry

I love Ruby, but I hate that it's pretty much never used for anything other than web. Don't get me wrong, Ruby is great for web and I love using Ruby on Rails but I feel like the world would be just a little bit better if more companies adopted the language for doing something else. I feel like even PHP is more used for non-web projects than Ruby is and I find that mildly infuriating.

Collapse
 
isalevine profile image
Isa Levine

As someone who loves Ruby and would love to do backend work with it for the rest of my life (even though I know it won't play out that way)--I am very glad this sentiment exists! <3

Collapse
 
omenlog profile image
Omar E. Lopez

I love JavaScript but I dislike the fact that not support immutability out of the box, also I dislike that it doesn't have a proper standard library

Collapse
 
kenbellows profile image
Ken Bellows

Have you played with Object.freeze()? It makes an object immutable at the top level (though the properties of objects within that object can still be changed)

Collapse
 
omenlog profile image
Omar E. Lopez

Hi, yes I know about it, as you mention inner objects can be modified unless that you freeze these objects recursively but anyway I don't think that this can be classified as immutability imposed by the language itself

Thread Thread
 
kenbellows profile image
Ken Bellows

So imagining that it was recursive, would you want immutability to be the default behavior rather than having to apply it with a method?

Thread Thread
 
pris_stratton profile image
pris stratton • Edited

I guess he wants const to really mean constant =)

I think a nice way to ensure objects are immutable is to use a closure when constructing them and only return getter methods, like in Douglas Crockford’s constructor example.

Thread Thread
 
omenlog profile image
Omar E. Lopez

Yes can be, immutable by default but at the same time giving the option to developers of make some value mutable, similar at how mut keyword work in Rust, I like that approach, in this way you can work with mutable data but immutability would be the main paradigm in this issue

Thread Thread
 
pris_stratton profile image
pris stratton

Makes sense. I’d like that feature in JS.

Collapse
 
gregfletcher profile image
Greg Fletcher • Edited

Looking forward to the Dev.to podcast!

My favorite language is JavaScript, although Rust is a close second. I'm just more familiar with JavaScript atm.

Least favourite feature --> function.arguments

Example:

function antiPattern(){

let lol = arguments[0];

console.log(lol);

}
antiPattern('💩'); // 💩

It leads to unclear code and I find it's inclusion in JavaScript a huge mistake. It's deprecated now but I just don't understand why it was included in the first place.

JavaScript isn't perfect but it's very approachable I appreciate the amazing community that exists around it. It's like a melting pot of creativity.

Collapse
 
roelofjanelsinga profile image
Roelof Jan Elsinga

PHP is wonderful and you can very quickly get things running. The most recent updates to the language are amazing and I'm loving all the new things that I can do like arrow functions and type hinting on class variables.

The one thing that annoys me a lot about PHP is the completely inconsistent names and argument order for built-in functions.

Look at this:

  • str_replace()
  • strtolower()

Why does one have an underscore and the other doesn't? It feels like there is a lot of legacy code still there.

Collapse
 
not_jffrydsr profile image
@nobody

Clojure ✨ is a true gem, but as a hosted language, knowledge of the environment (.NET CLR, JVM, V8, CLisp Compiler) is required to troubleshoot compilation/ building errors.

Even ClojureScript has a steep learning wall to setup locally which turns newbies away (that and it's ((()))).
Despite the advantages in being hosted, it takes a weirdo to want to learn such a idiosyncratic syntax.

Check out Higganbotthams beginner-aware tutorial into Clojure

Collapse
 
mskog profile image
Magnus Skog

Ruby is my favorite language and what I really dislike is symbols vs strings. We have a dynamic language with no type checking so...was it myhash["foo"] or was it myhash[:bar]? Oh right I know! It was ActiveSupport::HashWithIndifferentAccess.new(myhash)[:foo]. How silly of me

Collapse
 
sarahk profile image
Sarah

Is it bad that I don't have a favourite?