DEV Community

Cover image for What is the ONE language/framework you refuse to use? But...WHY???
Tina Huynh
Tina Huynh

Posted on

What is the ONE language/framework you refuse to use? But...WHY???

Why do developers HATE certain programming languages?

You hear such things as "--- is slower and has bad performance" "I hate how --- manages data structure" or "--- can't do x, y, and z but --- can"

What are your reasons you refuse to use a particular language or framework? Are they actually practical?

Happy coding!

Discussion (113)

Collapse
tracygjg profile image
Tracy-Gregory Gilmore

What framework I will not use: JQuery

Why: It has served its time. I was excellent for addressing browser/JS variations a few years ago but those day have largely passed - thank goodness.

What would I use as an alternative: Vanilla JS web APIs or any of the other managed FE frameworks.

Collapse
joelbonetr profile image
JoelBonetR

JQuery is a library not a framework 😅

Collapse
dominikbraun profile image
DB

What a spurious distinction.

Thread Thread
joelbonetr profile image
JoelBonetR

You could -at least- perform a google search before posting weird comments like that:

jQuery
jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, ...

Thread Thread
fjones profile image
FJones

It's still a spurious distinction. Where's the line between a library and a framework?

The best delineation I've heard yet is that a framework is involved in process control, and a library isn't. But then we look at how jQuery was actually supposed to be used, and suddenly it fits that framework definition awfully well.

Thread Thread
joelbonetr profile image
JoelBonetR • Edited on

We have tones of information online, just split what is an opinion and what is not.

As you suggested, a key difference between a library and a framework is "Inversion of Control".
When you call a method from a library, you are in control. But with a framework, the control is inverted: the framework calls you. Both of them define an API for programmers to use.

That's why jQuery, React are libraries while Angular or Vue are frameworks (as examples).

When you are developing an Angular App you create code that Angular will call to proceed.

In React you directly use React methods/functions in order for it to work, otherwise it's plain JS or invalid JS.

Same happen with jQuery, you need to actively call jQuery methods to perform actions.

On the other hand, other key differences are:

A framework tries to provide a complete solution on its environment (check Angular Reference), you'll see animations, a bunch of http-related methods, formatters, internacionalization, factories, forms, SSR...). While a library covers one or a little amount of features (check React Reference) you'll see a little bunch of functions, some of them are just HoFs to bring some extra thingy but related to the same.

You can also check this explanation from freeCodeCamp:
The Difference Between a Framework and a Library.

Have a great day

Collapse
tracygjg profile image
Tracy-Gregory Gilmore

Joel, I agree JQuery falls more in to the category of library than framework but I did not think the question was really that specific.

Collapse
chlorophyllkid profile image
Christopher Voigt

TypeScript … and I don’t really know why. My main concern is, that will make frontend work more complicated (defining types and weird looking syntax)

Collapse
tmchuynh profile image
Tina Huynh Author

Interesting...I'm definitely seeing both sides. People are saying TypeScript is helping a lot! And then there are those saying that with the developments of j
Javascript, you don't really need to use TypeScript.

Collapse
menottiricardo profile image
menottiRicardo

I tried TypeScript in a small app two years ago and haven't used javascript since then...

Thread Thread
tmchuynh profile image
Tina Huynh Author

I thought TypeScript isn't optimal for all projects. Correct me if I'm wrong. I haven't looked into it as much as I would like

Thread Thread
aeryle profile image
Aeryle

For very very small projects, I doubt Typescript is worth the additional time. Of course Typescript brings alot of advantages to projects, but sometimes using it for something very small just isn't worth it. But most of the time I'd say that it really is a good thing to have.

Thread Thread
joelbonetr profile image
JoelBonetR • Edited on

@tmchuynh @chlorophyllkid
It depends on the "logic load" you are going to add.
On average you'll prefer to have business logic in the backend. Thus it will depend on the needs of this logic and the architecture.

Let's add some examples as explanation:

If it's a microservice running in Node JS that exposes a CRUD through an endpoint, it will probably be a tinny one with few lines of code for each HTTP verb handler thus, even is OK to have some TS features it's not a real need.

On the other side, if it's a big service that deals with multiple instances or that deals with a third party (even being a single one) you may prefer to have TS to end up with a more robust code. It's all about robustness.

Last but not least, you must not couple business logic into the frontend: i.e. You can have a frontend in Angular but maybe in 2 or 3 years angular is dead and you need to migrate to a different tech, if you couple business logic on it, it will be a hell of a process, plus most of the time you need direct access to the DB to ensure data reliablility, referential integrity and so on.

So doing the right thing, the only logic you'll handle in your frontend is interaction logic (i.e. The submit button is disabled till you don't fill this form required inputs...)

If you apply SOLID and KISS, TS is not a need -usually- (some projects can grow in overcomplicated ways I still can't understand 😂)

So, even doing a microservice or a frontend (let's say a React one), adding TS or an extra check for documenting and basic typechecking as contingency wall it's preferred (Robustness).

Take a look at this post to understand better what I'm trying to say.

Hope it helps somehow.

Collapse
dumboprogrammer profile image
Tawhid • Edited on

Let me add something:
Typically low level or staticly typed language users like typescript because they like to work strongly typed pattern.(personally I like it too because I mostly work with C++ and C#)
on the other hand Typical web developers who mostly used javascript doesn't like typescript because compared to javascript, typescript looks scary and weird .They don't want to do the same thing with extra steps, you get the idea.

Collapse
coryjamescrook profile image
Cory Crook

I develop with typescript on a daily basis. I work in a pretty large codebase, and the static typing has been invaluable in maintaining and growing the codebase in a safe way and has caught many instances where we likely would have run into runtime errors. One less thing to worry about.

That being said, for a small project though, I wouldn't choose to use it most likely. The overhead of properly managing the typing correctly, correct configuration, etc... It can be a lot of work for a much smaller benefit.

This is just my take on it, however. I know people that hate it, and others that swear by it. It really just depends on the context imo

Collapse
fjones profile image
FJones

Unsurprisingly, the replies you're getting are full of people defending TypeScript. That may be one of the main reasons why I avoid TypeScript like the plague: It's hailed as the Second Coming, and almost always with a mix of "but it's really just JavaScript!" and "JavaScript without TypeScript is so bad!" (pick your line, people...).

TypeScript has unintelligible syntax at the best of times (go on, tell me how the standard implementation of something as simple as a higher-order arrow function doesn't look absolutely bonkers). It still has a lot of the idiosyncracies of JavaScript (by necessity). It gives a hugely false sense of security (no, just because you declare your response model doesn't mean that UUID the API is giving you is actually a number). And people get incredibly preachy about the benefits of types, to the point that no one seems to stop and look at what the actual effects are: I can't name the last time I actually thought "oh, TS would've prevented this" (and I'm pretty sure most of the cases I remember at all were things that any half-decent linter would have picked up, too, it just would have also thrown a compile error in TS).

Collapse
_moehab profile image
Mahmoud Ehab • Edited on

Writing big projects in JS (or any typeless/dynamic language) will lead us to a miserable fragile (soft)ware. "The parentheses because it is no longer soft :("

Collapse
brense profile image
Rense Bakker

It's the same syntax as Javascript though? Except for the types syntax ofcourse since Javascript is missing any kind of type safety.

Collapse
davefellow profile image
David Fuentes

Typescript is way more than just types tho... It's interfaces, encapsulation, enums, tuples, etc, etc. It literally changes everything regarding app architecture and code "shape"... Oc one can just use one of the features and forget about the others but just using static typing can be worked around using strict JavaScript and linter anyway...

Thread Thread
brense profile image
Rense Bakker

It's still the same syntax, the same way to define variables, functions, for loops... You have access to the same built-in functions and objects like Math.random(). So saying the syntax looks weird seems a little weird to me. Interfaces and enums you dont have to use, they're just there to aid in making good typings. Tuples you definitely have in javascript: const myTuple = ['one', 1] is valid javascript code.

Collapse
mdovn profile image
mdovn

For me. I don't think that i would like to code in plain js anymore. Even for simple pet project.
Ts offer so much benefits with just a small cost. It prevent me from stupid mistakes. Which sometimes take several hours to debug. With TS, I can even finish a task without having to manual test it. Of course I still write test, but only the valuable part. Not wasting time verifying input type, null value... Etc

Collapse
natescode profile image
Nathan Hedglin

Most don't like it because it requires understanding types, which types never go away. I highly recommend it. It opens the world of statically typed languages to you.

Collapse
brense profile image
Rense Bakker

I'm never touching Java again. Usually when I learn a new language there's a "wow thats cool" period, followed by a frustration period until you become somewhat proficient at the language. With Java the frustration period never ends and just gets progressively worse :P Worse than German grammar :P

Collapse
odysseaspapadimas profile image
Odysseas Papadimas

Used to absolutely hate it when I used it in Uni, then we had a compulsory Android Java App project we had to do and after a few months using it, it went from 1/10 to 3/10 for me
It's got some pretty cool stuff and insanely fast. I truly hope I never have to code another RecycleViewAdapter ever in my life again tho

Collapse
mephi profile image
mephi

I'm ok with German grammar (it might be a bit complicated, but it's very expressive) and I like Java. Maybe there is some correlation.
I like Java, because once you learned it, you can write it at 3 am and it still makes sense the next day.

Collapse
natescode profile image
Nathan Hedglin

Then use Groovy or Kotlin.

Collapse
pandademic profile image
Pandademic

agreed!

Collapse
inhuofficial profile image
InHuOfficial • Edited on

Well I’m going to start a war here but….tailwind!

It goes against the whole point of CSS…utilising the Cascade (the “C” part).

It adds loads of replication in your HTML, it requires you to rely on it actually working (lately there have been problems with the JIT compiler causing required styles to be missed) and by the time you learn all the classes you are 70% of the way to learning CSS anyway!

Don’t get me wrong for prototyping it is useful, but in production, if I have a choice, I wouldn’t touch it!

Collapse
tmchuynh profile image
Tina Huynh Author

What do prefer using? Bootstrap? Materialize?

Collapse
tzwel profile image
tzwel

He prefers vanilla css from my understanding

Thread Thread
inhuofficial profile image
InHuOfficial

Yeah exactly, sorry it is bank holiday here in the UK so not been on properly to answer.

I use vanilla CSS and a “micro libraries” approach. So if there is a complex component that I don’t want to have to build I will use an off the shelf solution and then adjust the styles to suit the site.

At this stage though I have my own library of patterns that work and are set up to use CSS vars for styling so it becomes more of a copy paste and change 3/4 vars job for 95% of things. 👍

Collapse
dannyengelman profile image
Danny Engelman • Edited on

Cobol !!!

It was already old-fashioned style programming when I had to learn it in college, some 30+ years ago. But... Cobol developers make 100K+ nowadays, still a lot of (banking) applications around.

I guess React will have a similar future, so many applications built, but will be (or, already is?) surpassed by modern language updates.

So if money is your main objective, and you don't care about using modern tools, learn React.
I will be making a fortune in 5 years time.

Collapse
hpez profile image
Hassan Pezeshk

React. Too much complication for a frontend framework and the code just looks unclean, especially the JSX part. Vue.js all day.

Collapse
tzwel profile image
tzwel

try svelte, you will forget about vue

Collapse
hpez profile image
Hassan Pezeshk

Will do. I've been meaning to check it out for a while just haven't got around to it yet.

Thread Thread
tzwel profile image
tzwel

awesome, I promise you will love it

Collapse
peteole profile image
Ole Petersen

I refuse to use anything that has to do with PHP...

Collapse
sunflowertoadtheorbiter profile image
SunflowerToadTheOrbiter

php

Collapse
mistval profile image
Randall

Maybe Entity Framework. It's been a while so I don't remember a lot of the details, I just remember it being really opaque, mysterious, slow, and just annoying. I don't like ORMs much in general, but Entity Framework has to be my least favorite.

That being said, just pay me enough and I will use it ;)

Collapse
jwp profile image
John Peters

They have refined it now and put a ton of effort into it. It's now as fast as direct SQL queries because it supports direct queries now.

Collapse
tmchuynh profile image
Tina Huynh Author

What do you use as an alternative to Entity framework?

Collapse
mistval profile image
Randall

I don't use .NET much these days, but in JavaScript land I typically like to use Knex, and raw SQL when needed.

Collapse
natescode profile image
Nathan Hedglin

😂 it has greatly improved but man, I know the pain haha.

Collapse
jonrandy profile image
Jon Randy • Edited on

TypeScript

Developing in JS after coming from strictly typed languages was liberating. The last thing I want to do is start using strict typing in it.

Collapse
thorstenhirsch profile image
Thorsten Hirsch

Lol, for me it was just the opposite way: coming from a dynamically typed language (Ruby) to TS it was so awesome to catch most of my errors already in VS Code. (But I also remember 10 years ago coming from Java to Ruby felt liberating.)

Collapse
tzwel profile image
tzwel

do you really get type-related errors?

Collapse
frozen_codes profile image
Frozen Codes

For me, it is C.
Reason: I started with Java, then moved to Python/Javascript and then found C.
Now you know why.😅

Collapse
nombrekeff profile image
Keff

Ionic - Have used it for many years, and not using it has been one of the best things I've done.

It's a mess, it feels like hacks over hacks, it's unconsistent, and a husle to use. It does not perform that well. You can know if an app is made with it or not.

It's super easy to mess up dependencies, plugins are a pain, etc...

For me it's one of the worst frameworks I've tried.

Collapse
tmchuynh profile image
Tina Huynh Author

How come you have used it for years if you hate it?

Collapse
nombrekeff profile image
Keff

Good question, it was not my decision, I would never use it for personal projects. We had an app at work made with Ionic, so I had to use it for a couple years, until we re-wrote it using flutter.

Thread Thread
tmchuynh profile image
Tina Huynh Author

Ahhh do you prefer using Flutter now? What do you think about using Flutter?

Thread Thread
nombrekeff profile image
Keff

Yup, by a huge margin, I think it's the best framework I've tried so far, and almost don't have any bad things to say about it!!

Collapse
joelbonetr profile image
JoelBonetR

I coded in many languages in the past, C, C++, C#, Java, PHP, JavaScript, Python and other bunch of them which I think it was good so I learned the differences and similitudes but some years ago I took a decision; since I've preference for scripting languages (JavaScript, Ruby, PHP, Python... ) I decided to go all in for JavaScript so I can code back and front using any architecture with a single language.

Thus nowadays I refuse to work with different laguages. By that means I can code on different languages for fun at home but working with them is a whole different story that I don't want.

Collapse
tmchuynh profile image
Tina Huynh Author

I love the concept of being versatile in many languages

Collapse
syeo66 profile image
Red Ochsenbein

Java (and Angular... any version). They were just eating my soul (like most OOP stuff).

I don't get why OOP (as in Java) seems like a good idea to anyone. If you have to learn dozens of design pattern to deal with the error of shared state, you might think about if there is something wrong, right?

This is why I like FP: Learn basically two 'patterns' and do with it 99% of the things: currying and closures.

Collapse
jwp profile image
John Peters

Yes both Java and Angular are painful and antiques.

Collapse
jwp profile image
John Peters

OOP existed before Javascript. The OOP Languages, all strongly typed, existed before the SOLID principle and had their roots in languages like C. C has been around over 60 years. The stability of these languages make for excellent choices.

Design patterns were over hyped, with just 2 concepts needed 1. Single responsibility pattern and 2. Favor composition over inheritance. Both are equally applicable to Javascript.

Most Javascript folks do not understand OOP and have little appetite for it. Most OOP find Javascript to be inferior and open source libraries are megalithic messes.

But none of that matters because we personally should choose to take the position that pays the most.

That's why I know 4 of the top 6 languages. It's also why I am comfortable with Functional and OOP styles.

Collapse
citizen428 profile image
Michael Kohl

The OOP Languages, all strongly typed, existed before the SOLID principle and had their roots in languages like C.

Smalltalk is generally considered the OOP language and is dynamically typed. And the first OOP language was Simula 67 which introduced objects, classes, inheritance and subclasses. It predates C.

Thread Thread
jwp profile image
John Peters

Fair point can you tell I come from the C language family?

Thread Thread
citizen428 profile image
Michael Kohl

Haha, I figured.

I have no issues with your comment per se, a certain flavor of C-derived languages (C++, Java, C#) did become the mainstream version of OOP. Alan Kay, often credited with inventing the term, does not necessarily agree with their particular approaches to the topic, as can e.g. be seen in this email:

“OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things.” — Alan Kay

Anyway, all of that is just of historic interest to programming language nerds like me, the vast majority of widely used OO languages are both statically typed and C-derived as you said.

Collapse
syeo66 profile image
Red Ochsenbein

I know many languages (from a list with the 10 most in-demand langs of 2022 I just found, I know 8) and worked with OOP and FP (and logical programming, and everything in between). Also you seem to think I'm coming from a Javascript background, which is not really true. And I saw many of the mistakes from the misunderstood OOP paradigms. Even Alan Kay wasn't too thrilled about the object-oriented implementation in C++ (and thus also Java, C# and every other following OOP language) - btw, C was not considered object-oriented.

Those two concepts you mentioned (Single responsibility and composition) are fundamental in the functional paradigm. It has been the very fundament of function purity and immutability.

"But none of that matters because we personally should choose to take the position that pays the most."
I strongly disagree. If you are doing this job for the pay, well, okay, I won't judge. But I for one am not in for the money - it just happens to be very lucrative - but I think no company would want to pay me enough for me to even consider working with Java ever again. And I don't have to.

Another topic you're touching on is this 'lang A is better than lang B' BS. Sorry, to say it, but many Java developer always looked down on PHP devs. But far too many times I saw how PHP solutions were running circles around Java developers when it came to get a project done. The same goes for Javascript or anything else that does not deemed worthy by others. It doesn't matter: The only thing that matters is if something gets done. Period.

To wrap it up. Yeah, I don't like OOP (as implemented in most OOP language anways), and not because I do not know it, but because it makes things unnecessary hard in my opinion. It never made sense to me. FP on the other hand clicked immediately. It made sense from the start. But that's just me.

Thread Thread
jwp profile image
John Peters • Edited on

First please don't apply my comments personally. I never mentioned your name, rather I mentioned only facts from my perspective.

As for you, if you prefer to work for 50% of what could be earned that's totally your choice.

With today's high inflation and real estate costs, I find it much more comfortable to be easily able to provide for my family by having a higher paying job.

I also never said or alluded to C being object oriented.

As far as OOP being hard, you may have missed what I said, we only need SRP and Compsition. Both are simple concepts.

As far as 'better languages', it's just a truth which some folks are too blind to see.

Collapse
capz profile image
Leroy • Edited on

I wouldn't say language perse, but react, I despise it. It's just as yolo as jquery was and look what mess that got us into for larger projects. Not touching that.

In terms of languages.. I would say php, followed by java.

Collapse
taijidude profile image
taijidude

PHP. Not because of the language. But the jobs pay worse than Java Jobs in my experience (here in germany).

Collapse
tmchuynh profile image
Tina Huynh Author

Good to know

Collapse
tzwel profile image
tzwel

python. holy shit i hate this language so much

Collapse
tmchuynh profile image
Tina Huynh Author

How come?

Collapse
tzwel profile image
tzwel

it's known for its simplicity but i think it just makes the language harder to work with

for example, indentation, a wrong space or a tab will prevent you from running the code, this essentially means the tool tells you how to use it, what if I want to format the code the way I want to?

you need to import 8428 libraries to do a simple tasks, that are actually mostly written in languages other than python because writing them in python would be painful

libraries often work on one OS, and on other don't, or don't work at all, almost everytime i clone someone else's repo dependencies just don't work and i have to swap them and tweak the code to work at all

i find it difficult to scale bigger projects, it's only good for me when i have to write a simple 10 line script to automate something, the syntax fucking sucks

Collapse
ider2099 profile image
ider2099

Reactjs, I am married to Vuejs and Nuxtjs. I can't fool them.

Collapse
tzwel profile image
tzwel

ever tried svelte?

Collapse
guitarino profile image
Kirill Shestakov • Edited on

I had to make changes in Ruby code once; hope I never have to touch it again

Collapse
darkwiiplayer profile image
DarkWiiPlayer

PHP. It's just such a terribly designed language, it makes me wonder if it was intentionally built to be awful.

Collapse
mephi profile image
mephi

JavaScript, it' ok to use when neatly packed and I don't see it, but I hope will never have to write it again by myself.

Collapse
tmchuynh profile image
Tina Huynh Author

Javascript can be a very complicated language

Collapse
mephi profile image
mephi

I found no joy in programming JavaScript, I can't even name one engaging characteristic about it. It's like, it kind of works... and you can do things which are pretty okay.

Collapse
akshay9677 profile image
Akshay Kannan

Definitely Angular, mainly because of typescript. Typescript shouldn't be mandatory for framework, it should be optional like in Vue and React.

Collapse
pontakornth profile image
pontakornth

I am going to avoid C if possible. I don't program low level stuff so C is not suitable for my job. If I need to go on lower level, I would use Rust or C++ instead until I have no other choice.

Collapse
polterguy profile image
Thomas Hansen

Somebody needs to say this out loud; OOP ...!! ;0

Collapse
fullstackcodr profile image
fullstackcodr • Edited on

1) Java/Spring. I find C# and its ecosystem (.NET/Entity Framework/WebApi/MVC etc) way more neat and elegant. C# to my view is more modern and every new version is coming with handy features that I cannot ignore. I wish Microsoft had promoted C# in a better way so more people would prefer it over Java.

2) React. I use React from time to time but still have to convince myself to pick it up. I am working on Angular since it was a library (AngularJs) , before becoming a full framework but still not my favourite. VueJs is the winner for me because I believe it combines the best features from Angular and React.

Collapse
jwp profile image
John Peters

I'll never touch Java again, C# is far more advanced.

Collapse
jeoxs profile image
José Aponte

I refuse to use Laravel. Too complicated. You have to write too many commands in order to have a single functioning module/component.

Angular, on the other hand, is simpler IMHO. You just use one command to add one component/service/module/etc that is ready to use (you still have to code it, but the main structure is there and it's connected).

Collapse
pinotattari profile image
Riccardo Bernardini • Edited on

Languages that I do not like to use? There are few. In approximate decreasing order of disliking:

  • PHP & Javascript
  • C++
  • C.

Why? Because they are too much "bug prone" and the resulting software is quite often a mess to maintain.

PHP and JS are, in my opinion, the worst offenders since they try to "read your mind;" if something is not canonical (e.g., you are trying to multiply an integer and a map) they do the impossible to avoid raising an error, often converting everything in everything else with results that can be hilarious but are actually worrying if you think that most of the web is built on that. Also their "type volatility" makes the equality == non-transitive... and if your language has a non-transitive equality operator, you know that it has some serious design issues (indeed, they also provide the === as a patch). PHP also has a "too surprising" API, with many related functions using different conventions and this makes it difficult to remember how a function is to be called. This, however, is a minor annoyance that can be solved with a look to the manual (which is quite good, even if counter-intuitive to navigate at times)

C++ is a bit better since, although it is not type strict (automatic conversions happen, for example, between float and int), it is not as type-volatile as PHP and JS. Nevertheless, it grafts the complexity of OOP on the frail basis of the C. A giant with the feet of clay.

Also, the idea of C++ template is nice, but the implementation leaves much to be desired. The syntax is quite obscure and the impression it gives to me (but it is just a personal feeling) is something that has been attached at the last moment. At least it avoids the worst use of macros.

Ah, yes, the macros... (this applies both for C and C++)

They can be fine (maybe) to define constants (but I would prefer something embedded in the language and not based on pre-processing). The true problem rises when they are used to do processing (e.g., embedding loops in macros... I have been guilty of this) or even change the syntax of the language (replacing '{' and '}' with BEGIN and END is the least serious offence in this respect). The result can look cool, but it is as frail as it can be since it is based on pure text substitution.

No, macro-based pre-processing has no place in robust software.

Finally we come to C, maybe the least serious offender. What I do not like of C is that it is too much lenient and accepts code like this

1; /* At most you get a "warning: no side effect" */
Enter fullscreen mode Exit fullscreen mode

Also, C is too-much low-level with the pointer arithmetic and the excessive use of pointers it requires (you need them even for read stuff from the keyboard!). Pointers always bring with them the potential of bugs, even nasty ones. Yes "dangling pointer," I am looking at you... A dangling pointer bug can require days of hunting because it can manifest itself in any place in the code (e.g., when doing a malloc if the dangling pointer caused a corruption of the heap).

In defense of C it must be said that I think that the objective was to have a language that was easy to compile and with access to low-level details, so that one could do some hand-optimization (nowadays I would leave the optimization stuff to the compiler, the processors are too complex and compilers are very good). Given these constraints, I guess that C is a good solution.

Oh, yes, ... I was forgetting.... the ternary operator cond ? then : else. The idea is nice and sometimes it can be really useful, but the syntax is awful and it gets obscure if you have two of the nested. I prefer, for example,

(if Condition then Then_Value else Else_Value)
Enter fullscreen mode Exit fullscreen mode
Collapse
ninoscript profile image
Cristián Arenas U.

I hate languages that don't have sum types. 😬

Collapse
stephanie profile image
Stephanie Handsteiner

TypeScript to the rescue. 😆

Collapse
thorstenhirsch profile image
Thorsten Hirsch

Perl. It's still good enough for small scripts, but the lack of IDE support, proper object oriented features (in the language itself), and the potential to use obfuscated syntax restrains me from ever considering it again for larger projects.

Collapse
erellsworth profile image
Edward Ellsworth

Drupal.

I literally just quit a job over Drupal (among other things) because I hated working with it so much.

The documentation is horrendous. A lot of official docs will tell you "If you want to do X, just use Y," with no examples of using Y to do X, and often not even an explanation of how Y works at all. Google "how to do X in Drupal" and 99% of what you find will tell you to just install some module, which may or may not even be compatible with your current version, and may not even do what you need.

The way it stores data is insane. There are over 60 MySQL tables out of the box, and that number grows quickly because it creates 3 or more tables for every single custom field. Need to store a boolean field on your content type? 3 more tables. Need to add a simple text field? 3 more tables.

Updating versions is a huge pain. Want to update from 8.5 to 9.3? Well, first you have to update from 8.5 to 8.9, run update scripts to modify the database, then do it all over to get to 9.3. Oh, and there's a good chance something won't work right in the process and your whole site will become unusable. And that's for "easy" updates after version 8. If you have to update from 7 to 8 or 9, may God have mercy on your soul.

I could go on, but I don't have all day, haha.

Collapse
curiousdev profile image
CuriousDev

It would be very helpful to know the scenario, which is referred to. If it is only about a personal choice, I understand, that you would "refuse" using certain technologies, but then it would be more correct to write "prefer".
A situation where you could try to refuse a technology would be a project of your job, but then refusing could also be the wrong approach, people do not always have the choice and being a developer includes being flexible and motivated to learn.
To answer your first question, there is no language or framework, which I hate, but at the moment I kinda prefer learning JavaScript over other programming languages. Because of this answer, I cannot provide a reason to answer the second question.
You also ask it differently, asking why developers would hate certain languages. I would say there can be very different reasons for this and one surely is, that people just try to justify having difficulties with certain languages or frameworks. It is ok to dislike things, but people still should be patient and motivated, when they are facing something, which appears to be difficult to them. Then it can be, they suddenly like it, because, you know, they understand it better after putting some effort into it.

Collapse
sharpcdf profile image
sharpcdf

C#. No matter how many people try to convince me, I refuse to learn it. I don't care if it has a cross platform gui in the works, I hate pure oop(no idea why) and I don't like that you need .net installed to run any apps

Collapse
bioleg profile image
Bioleg

It depends while making games I use c#, when I do web dev I use html, css, php, javascript but in more specific things like modding minecraft for example I have to use java, but when I wanna make a small fast project I’m using python.

Collapse
tzwel profile image
tzwel

the question was: what langauge do you refuse to use and why

Collapse
yjdoc2 profile image
YJDoc2

Python : don't get me wrong, it's a good language for quick prototyping and stuff, and I'll use it when it is the right tool ; but I do not want to use it for anything larger than that.

Reason is : maybe it's my fault, or my setup , but I tend to get a lot of type and param errors when developing which should ideally be caught at "compile" time... Weiredly, I don't get as many when writing js, even though that's also dynamically typed :)
Also sometimes the std lib API seems a bit wierd and inconsistent coming from other langs, but that's maybe more of me problem than of python.

Collapse
souksyp profile image
Souk Syp.

Express

Collapse
tmchuynh profile image
Tina Huynh Author

How come?

Collapse
souksyp profile image
Souk Syp.

Next js has all I need.

Thread Thread
brense profile image
Rense Bakker

websockets?

Thread Thread
souksyp profile image
Souk Syp.

Fastify

Thread Thread
brense profile image
Rense Bakker

ehehehe ok fair enough :P

Collapse
natescode profile image
Nathan Hedglin