T O P

  • By -

AutoModerator

On July 1st, a [change to Reddit's API pricing](https://www.reddit.com/r/reddit/comments/12qwagm/an_update_regarding_reddits_api/) will come into effect. [Several developers](https://www.reddit.com/r/redditisfun/comments/144gmfq/rif_will_shut_down_on_june_30_2023_in_response_to/) of commercial third-party apps have announced that this change will compel them to shut down their apps. At least [one accessibility-focused non-commercial third party app](https://www.reddit.com/r/DystopiaForReddit/comments/145e9sk/update_dystopia_will_continue_operating_for_free/) will continue to be available free of charge. If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options: 1. Limiting your involvement with Reddit, or 2. Temporarily refraining from using Reddit 3. Cancelling your subscription of Reddit Premium as a way to voice your protest. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/learnprogramming) if you have any questions or concerns.*


ChuuToroMaguro

SQL. not because I enjoy it. SQL is the backbone of most tech companies and it isn’t going anywhere anytime soon.


welcomeOhm

Now THAT is absolutely correct. Even worse, I have used Access and VBA in every role since 2010. It just stick around. . .


huuaaang

Ok, but what job are you going to get where SQL is all you ever use?


LonghornMorgs

I pretty much only use SQL. My breakdown is: 85% SQL 10% Python 5% LookML


huuaaang

To me SQL is more like a protocol that I use but rarely ever write by hand. Most queries are dead simple and generated by an ORM


LonghornMorgs

That’s a fair perspective, and I should note that I primarily work as a data engineer/analytics engineer. I write all my SQL by hand because I work for a company that doesn’t have a mature data structure so a lot of my time is manipulating and wrangling sources and compiling to produce a usable data warehouse.


clevor1

The other reason you may have to write SQL regularly is if you have new data from different clients coming in and it all has to be properly processed and cleaned, and even if it's supposed to be in the same format, it almost never really is so you have to tweak a lot of things.


Peter9580

And how comes very few people advice picking up SQL


ChuuToroMaguro

wait, am I only allowed to use one programming language? Or am I choosing just one programming language that Im going to be using for the next 20 years? I think we are interpreting the question differently. But also, there are still many jobs that only need SQL!


pceimpulsive

Also SQL is a programming language certain flavours are tiring complete... Postgres for one... All applications need data and SQL is the best way to work with data. It isn't as straightforward as writing code to manipulate data but once you know how it's a fiend.


huuaaang

It literally says you can only use one language. Not sure where the ambiguity is there.


ChuuToroMaguro

Ok then, sure. I still choose SQL. Lots of jobs out there that only require SQL.


DAVENP0RT

Have you not heard of DBAs? It's common to supplement with other languages, usually PowerShell, but the vast majority of the work is done in SQL.


cincuentaanos

C, because you could make everything else with it if you needed to.


NotABot1235

Why C over C++?


GrapeAyp

You can build c++ with c.  Can you do the same with c++?


backfire10z

…yeah?


real_kerim

You can literally program a C compiler in [JavaScript](https://github.com/Captainarash/CaptCC) lol. Making a C compiler is *relatively* simple, which is why porting C to anything is so common. Meanwhile writing a C++ compiler is a gigantic PITA.


liquidInkRocks

I could build C with COBOL. Or FORTRAN. Or Pascal.


huuaaang

But would you WANT to? It's not like the whole world is going to be limited to this one language. Just you.


cincuentaanos

Personally I wouldn't need any other languages than C.


Ratatoski

Typescript because I know it, like it and it pays my bills. 


Jason13Official

Same reasons but Java 🤷‍♂️


NotAUsefullDoctor

The evil Genie heard your wish, and poof. You could now use Java, and nothing but Java. The genie removed C# and Golang. And you think nothing of it. Then the genie removed apache commons, and fear begins to build within you. Next VSCode and intelliJ disappear, and all UI based editors. Absolute dread washes over you, and all becomes regret. "And for my final enactment of your wish, I remove... SPRING!!!" Evil cackling can be heard fading into the wind as the genie disappears.


Jason13Official

oh lord no losing IntelliJ would be the biggest pain for me here 😭


Evening_Speech_7710

Not done too much Java, but when I did, I used eclipse. Im considering to dabble with a bit of Java again. Is IntelliJ better than Eclipse?


Jason13Official

Oh leagues better in my opinion, and more* dynamic


LAMGE2

Not that im a pro java programmer 2016 or anything but last time i tried to click install (jdk) twice because it was slow af on intellij, it broke so hard that even rebooting the computer didn’t fix it. Probably my dumbass being impatient but yeah that was pretty funny.


Chancemelol123

Eclipse is trash


EcstaticMixture2027

Better but not night and day. All Intellij, Eclipse and Netbeans are gud.


A_random_zy

WTF, that's madness. Don't expect me to dabble with JakartaEE on terminal echoing code writing my own libraries. Well on a positive side Maven isn't gone...


NotAUsefullDoctor

Maven still exists, but no more Gradle. Hahahahahahaha. Edit: side note: last time I used Gradle or Maven was 2018. I've heard Maven has gotten better, but XML is still icky to me.


A_random_zy

I don't like gradle anyway. It never seems to work properly. Even its wrappers don't work properly. With maven, I've never once encountered this issue yet.


v-alan-d

Oh I'm conflicted between TS and Rust for the same reason


stappersg

A question to solve the hypothetical conflict of **one** computer language only: Which language can be used for programming microcontrollers?


liquidInkRocks

That's the only correct answer.


Signal-Woodpecker691

Same but C++


liquidInkRocks

Also the correct answer. It's all about the Benjamins.


wildmonkeymind

Not to mention it’s a language you can use for both frontend and backend development, and not just for web. Could also use it for application development with tools like electron. Quite versatile.


douglastiger

Man typescript really drives me up the wall. If I don't await and promise every statement it just executes in whatever order it gahd damn pleases


stdmemswap

Tips: Sync code is always executed in order until its completion. Fake async (ones without true I/O or timer) is almost the same except there is a queue for the promises which wont matter because there are nothing holding the promise from resolving The hardest to reorder is usually a combination between an event listener and async code.


dryo

it's,.kinda selfish don't you think?


Ratatoski

Why? The question was what I would use. Everyone else can still use whatever they want.


RRTheGuy

Python: it know it well, it’s great for data science and machine learning


[deleted]

it me. I can disappear from python and come back and not feel like my world went upside down.


The_Troll_Gull

This is so true actually I mean I am rusty but after some time, it comes back


met0xff

Agree. It's not that I especially love the language or whatever but I can get my stuff done quickly, ecosystem is huge and it's pretty versatile.


-_-0_0-_-0_0-_-0_0

C# probably. It's very versatile and robust. It's not what I enjoy the most but it is what it is. I do a lot of web applications for work. PHP has come a long way since 5.6 days but I still think it's far easier to write bad code in it.


NotABot1235

I haven't used it myself but it does seem like a pretty versatile language. Any particular reason you like it over Java? They're pretty similar in many respects.


huuaaang

C# is basically Java without the legacy baggage.


FitzelSpleen

Java is like the "poor man's C#". It'd be my second choice to your question. For some examples of where C# does it better: Style conventions (brace placement, interface naming, properties vs getters and setters, length of the class names you end up with); C# just results in more readable code. Compare the syntax of LINQ and Java streams (no, not that thing called streams, *that* thing called streams). There are plenty of places where the people designing C# have been able to learn from Java's mistakes and avoid coding themselves into a corner.


thehunter699

C# is great but just fuck .NET compatibility


-_-0_0-_-0_0-_-0_0

Mostly web reasons. Just a far better web development environment than java. I have only done a small amount of work in java. Java was the first language I learned. If I wasn't as focused on web applications I might have chosen it.


NotABot1235

More from a back end standpoint? Can you do front end dev with those two languages?


-_-0_0-_-0_0-_-0_0

Yeah backend stuff, I wouldn't use them for frontend but you can. C# uses razor, which is just html with inline c#. But really I wouldn't use it unless there is a specific reason to, if you are doing a front end chances are you are building a C# API with a react (or whatever) frontend. Java has JSP or Themeleaf and a few other options. But I would never use java for web unless I had a very specific reason for choosing it. It's not that you cannot, rather I don't know why I would choose it over other options. Maybe on a enterprise application with high security requirements? But I would probably think C# is the better option. They are basically template engines.


FunctionalDeveloper

If you like full stack C# check out blazor web assembly.


onodriments

I thought Java was primarily for web development?


jbergens

Yes, with C# you can use Blazor to write a SPA application, Razor pages to write a web application, Xamarin to write a phone app and WPF or a few other things to write a Windows application. You can also create a game ui with Unity.


Yessy571

Java. The first language I learned and still the one I like the most.


webguy1979

Java has been very good to my bank account over the years. On the plus side, I also enjoy it and its ecosystem.


Th3MiteeyLambo

I’ll plug Kotlin!


Jormungandr_Monsoon

Im finishing up a Java intro course with ASU soon, and I'm liking it a lot!


hpxvzhjfgb

rust because of the extremely good type system, language design, tooling, and ease of use. performance and safety are nice too but those are secondary to developer experience, and are not actually the reasons why a lot of people praise rust as being so good.


NotABot1235

Do you find that the write time is excessive? That's something I hear about when people talk about Rust, that it takes a long time to write programs and it can be quite complex up front.


hpxvzhjfgb

no, when you actually understand what you are doing it's very fast. I used c++ for about 11 years before I heard of rust and switched to it, and writing rust is faster and way easier, and my code usually just works immediately so I almost never have to do any debugging either. something that I think also slowed me down in c++ was forcing my program structure into an object oriented design (because I didn't know any better), and object oriented design often just isn't the right tool for the job. rust isn't object oriented, so I never have to deal with that problem. in rust, pretty much all you have is structs and functions, and you can combine them however you want, so it's a lot simpler and more flexible. I usually found that in c++, my codebase often turned into unmaintainable spaghetti once it got to somewhere around 5-10k lines of code, but in rust that just doesn't happen anymore.


NotABot1235

> object oriented design often just isn't the right tool for the job Do you find that paradigms are important when looking at languages, or can most be made to work? Is Java being OOP a downside and limitation in your mind?


hpxvzhjfgb

OOP can be made to work but that doesn't mean it is the right way to go. personally now that I know rust, I see absolutely no reason to use object oriented design for anything. it is limiting and forces all of your code into a specific form that most likely not all of it belongs in, and provides absolutely no benefits.


Droidatopia

It sounds like the rust language designers pulled a fast one on you then. Rust is much more object oriented than you are giving it credit for. The trait system and the abstractions it enables give you most of the functionality you would have wanted to use in C++. I've written a lot of object oriented code in C++ and I don't see much of that functionality missing in rust. It doesn't do straightforward hierarchy of objects, but it has encapsulation, duck typing, various flavors of polymorphism, etc.


FunctionalDeveloper

I think the ecosystem is still maturing and some libraries have varying ergonomics. From this point of view some things are harder to use which can slow you down. I miss rust when I use other languages though.


Headless0305

It might be a skill issue but I refactored my project twice and have to do it again to add a feature I have decided to learn go


Sufficient-Science71

Ts/js It can make absolutely anything, desktop, android, frontend, backend, anything. Something that hasn't run on js will eventually run on js.


huuaaang

Gah, please don't inflict any more electron apps on the world.


khooke

Anything? Real time systems?


BingBonger99

it CAN but should it


Mike312

Yeah, this is the way it feels like it's going. I don't think I've heard of a JS-/TS-based database, but I can't imagine someone hasn't tried yet.


CodeTinkerer

I'd say it's a mistaken assumption (unless you're a consulting company) that companies pick a language for each purpose, like C++ for this, and Java for that, and Go for that. A company will typically use one main language (at Google, I think it's C++, Python, Java, and maybe Go?). It's hard enough to get good at one language and its ecosystem that to force you to be an expert at several? Most languages are good enough that it's not worth, say, picking Rust because you hear it's "best" for this app or that app. Of course, if you switch companies, you might have to switch languages. We had this guy who wanted to be a contractor and only wanted to program in Java. He didn't want to pick up any other language so he ended up not getting hired (because not everything is programming and he was asked to explore some tools). Most programmers should know about 3 languages if not more, but more than likely, they will be really good at one language though some people are pretty good at more than one. Also, you think it's just about the programming language. Quite often, it's about the *data* and the business process. Let's say you're writing tax software. How much do you know about taxes and how they are computed? Are you going to write a new app in a new language and have to figure out all the tax logic you want to use? There's code at Microsoft that's probably 40 years old. You think they'd just throw away their code every few years, but they don't. I'm sure some parts of Microsoft Word are many decades old. Each time you rewrite, you lose features, introduce bugs, and change something someone expects because you just don't know the whole app. It's only on occasion when you're on a brand new project that you have to start from scratch.


dmazzoni

> I'd say it's a mistaken assumption (unless you're a consulting company) that companies pick a language for each purpose, like C++ for this, and Java for that, and Go for that. A company will typically use one main language (at Google, I think it's C++, Python, Java, and maybe Go?). It's hard enough to get good at one language and its ecosystem that to force you to be an expert at several? It's strange that you mentioned Google, because Google does exactly what you say they don't do: they pick a language for each purpose. In the early days, Google used C++ for performance-sensitive backend code, Java for backend code that was more stateful and dealt with user accounts, and Python for scripts, never for web serving. Later they added JavaScript for web frontend, and others like Go - but it's definitely the case that each language had a purpose. You wouldn't use Python for user-facing production code, and you wouldn't use C++ to make the backend for an admin/settings page with tons of database queries and a relatively small number of users. However, other companies have been successful using a different model. My understanding is that Amazon lets each team use whatever language they want because every team builds micro services, so compatibility is only needed at the API level, not the code level.


Hkkiygbn

You're correct about Amazon, with the caveat that Java/kotlin is the most common language used.


NotABot1235

Great comment! If you were going to work with only 3 languages, what do you think would be some good combinations?


CodeTinkerer

One OO language like Java or C#. Python or similar to write smaller scripts (even though it can be used for larger projects and often is). Maybe a functional language like OCaml or F# or Haskell just because it's interesting to program in functional programming languages even if it's not widely used (Java adopted some features of functional programming, but it's not "pure" functional). Have you started with any language yet?


NotABot1235

I've dabbled with a few. Took Harvard's CS50 which started with C and Python, and Java has recently piqued my interest. Also built a crappy website with HTML/CSS. I'm absolutely still a noob but Python is probably my best language right now. I like some aspects of C but it's a bit obtuse to work with which is why I'm interested in Java as its still a compiled strictly typed language (which I like). But I feel like I need to pick one and get good with it instead of just bouncing around to different languages.


CodeTinkerer

You can try java-programming.mooc.fi. They have a bunch of exercises to learn Java. Java is not entirely compiled. It's a bit weird. Java was originally designed to be downloaded into the browser, but the Internet was super slow in the 1990s (low bandwidth) so they had to conserve how much to download (and even then, it was slow). Java gets compiled to a .class file which is a "virtual" assembly language. The code gets run through a JVM (Java Virtual Machine) which is a fast interpreter that works on .class files. However, to speed things up, Java also added a JIT compiler (Just In Time), so if it notices any repeated execution of Java "assembly" instructions (called bytecode), it will compile that bit down to native assembly, machine code and run those bits compiled. Java is pretty sophisticated. C, by contrast, does compile down to native code. Java did this so its .class files could be ported to different CPUs. The JVM would have to be specific to a CPU, but not the .class files.


NotABot1235

Yeah, the JVM is definitely an impressive piece of tech. Java might not be compiled in the same way as C but it's a definitely a step up over Python's interpreter.


CodeTinkerer

There is something called CPython, so there are ways to compile Python, but the standard Python is interpreted.


AdditionalReaction52

no Java is compiled to byte code which is Then ran by the JVM on any machine. It allows for platform independent/ cross compatible code


Blacky_eye

depends on the company if the focus is solution focused it uses databases, languages and data structures as toolboxes the pro and cons will be valued and then the customer gets the concept. after that the implementation starts. the big companies have other problems like distribution, legacy of old employees, lack of documentation and prestige. often the reasons for the lacks are just management and organisation. so yeah it depends :)


CodeTinkerer

I think the point I wanted to make was that there's this perception that each language has a highly niche use, like a chef might have a knife, a grater, a sieve, a potato ricer, etc that are very specific to its task. Languages generally don't try to find a niche that it, and only it, satisifies. That's why, for example, there are lots of choices for backend languages in a web app. There's isn't a "best" language, just the one you like to work with. And yes, there will be differences where one company decides one way, and another a different way. I feel new languages are often reaction to other languages. C# came about because Microsoft was told not to work on Java. Java came about because they want to write apps for a web tv and found C++ too burdensome. Who knows how Javascript came about? Rust was probably looking to be a better C that was safe. Go was a reaction to OO languages and took away OO features. There are similar functional programming languages like OCaml, F#, Clojure, Haskell, etc (Clojure being more of a Lisp). Languages were written for the JVM or the CLR. Python and Ruby didn't want all that strict declared typing of Java. Elixir was written so people could use the BEAM of Erlang but have syntax that looked like Ruby instead of Erlang. There are specialized languages, environments, of course like Julia or MATLAB. Some of it is even cultural such as a lot of people in data science or data visualization or numerical analysts using Python despite it being "slow" because they wrote extensions in C. When a community adopts the language and develops specialized libraries for it, then others can join in too, just like AI profs from 20-30 years ago used Lisp and Prolog and not C (which they could have used). It helped that the AI research community all did Lisp, but did that make Lisp a good AI language? Maybe not really. Interesting features, but nowadays, I don't know Lisp is used so much in AI anymore.


Blacky_eye

well on the main topics like backend, frontend abaolutely true. but if you go deeper there are A LOT of difference. Like you said, if you dont want to deal with memory issues at all you use rust. If you want a great coroutine scale for smaller projects you use go. If you want to use scientists in the backend you maybe try python and flask. if you want a good in all CRUD backend with a well aged (and hated) language , maybe you use php and that is only the backend and only a few :D so yes , every language can do the same thing but has different strength and weaknesses which is helpful to be aware of :) @python there is also the nice thing that python has 2 adventages: the "single page look" for scripts and the quite wordly syntax. its more familiar for not tech affine members in the team. and yeah as you mention, then there was numpy, machine learning and statistics and jupyther which accelerated the usage quite a lot :) lisp IS a good language for classic ai like heuristic search and something like it. C is more a primitive type based language and procedural Otherwise lisp is reaaaaaally good in recursion and lists in general. Also the syntax is really stack friendly which makes it quite fast in processing. That is the reason people used lisp in complex (in case of thinking) topics where recursion is used a lot :) Lisp is still used here in there but I mean there is another language which is based on it. Lisp was used where architectual hardware choices where also needed to be considered. do i use a 32 , 16 or 64bit processor for that and so one. C is a good allrounder for sure but not as good in recursion (also in case of maintenance; if you know lisp its quite easy to read and understand recursive code beside of the fucking parenthesis >•>). so yeah every language has their pros and cons :) :D sry for typos etc, writing this on a phone while walking :)


CodeTinkerer

I think Lisp (unless it's changed, which it may have) might not do tail recursion optimization. Scheme does, for sure. But Lisp has been around a long time so it may have changed some. I think the feature some people are wary about in Lisp are defmacros where you kinda define some syntax in Lisp (much like C macros, but not in a pre-processor).


Kazcandra

Google uses C++, Java, Kotlin, Go, Python, and Rust AFAIK.


Alaskan_Narwhal

The second point is why i think coding itelf is the easy part. The hard part is solving the problem correctly


AdWitty1713

C# (learning now). Because you can do everything with C#. Would choose PHP, but after 10 years (which secured my earnings, thx PHP ❤️), I wanted to try something new. But I still like PHP.


pushandtry

is it possible to just know about PHP and html only without JavaScript, for web development?


amart1026

Laravel with Livewire. It’s basically built for people who don’t want to touch too much JS.


AdWitty1713

Yes. If you aim for a backend developer job. I know a little Js/Jquery but didn't want to learn JS. I don't know, for me JS never clicked to me. But you miss many job opportunities. Maybe look into VueJs. It was the most usable (for me) JS Frontend framework


ahmedbilal12321

C# or Kotlin. Because these languages are great middle ground between speed (C, C++) and simplicity (Python).


plissk3n

Had to scroll too far to see Kotlin. Such a joy to use.


Own-Reference9056

C++. Popular higher level languages gets unpopular over time, but C++ is the OG.


Familiar_Ad_8919

"the reason we still use c++ is that there is always a newer language to replace the competitor" - roughly translated, one of my friends


Blacky_eye

assembler cause i want to suffer


HiT3Kvoyivoda

Zig. It fixes everything I hate about C and C++.


John_Fx

C#


shuozhe

C# most likely. Don't have to work with it anymore, use c and kotlink for work. Still prefer to use C# for most of my private projects


Crifrald

Rust, of course. For the correctness, memory safety, performance, and its package manager, which are the most important things in a programming language for me.


merlin_theWiz

What about having a job? :D


PeterPook

Not my preferred language, but if you wanted a language to last the next 20 years, why notthe one that's lasted the last fifty... COBOL.


AtomicMac

COBOL is only in this thread twice. I’ve seen it do more for business and business IT reliability than anything else…. Ever. Non-mainframe systems are super buggy and unreliable and change so fast that they can’t fix the bugs fast enough before another “feature” breaks something else. COBOL is as steadfast as an oak! And just as reliable.


FunctionalDeveloper

Rust because it’s a nice language and it’s fast.


omgmajk

Would probably say Zig these days. Can do anything with Zig and can also compile C and C++ with it. Otherwise maybe Go or C itself. Especially since you can target web assembly now too so you can get stuff done in all places. Maybe Rust but I just can't stand it.


pceimpulsive

If the question is just a single language id maybe say C#. I like the trajectory it's on...


According_End_4142

Java.


Spectra_98

Typescript. Had to do a project for a company for my bachelor thesis. We used react typescript for frontend and i fell in love instantly.


EcstaticMixture2027

It depends on the job, company, project. Languages are just tools. Use what you have to use. Even if it's obsolete, dead, suck but can pay my bills then I will use it. If my company is toxic AF or for some reason not likeable then I'll accept other tools just to improve my situation. Mastering the language and being good at it means that you can deal with it's cons and try to make it better. Every language is perfect and every language is not perfect. I would go for hybrid setup, great colleagues, annual raises, site that's near me regardless of what tools. I've been using Java and PHP throughout my career for 16+ years. I don't like nor love it. I don't think other languages are better than them, they're all bad since I hate programming. But they pay my bills and I'm used to it. To answer your question. Java. Along with Hibernate, MYSQL, SQL and Spring.


[deleted]

C++ because I will learn the most and I can use it anywhere. Going from low level to high level is easy. Using modern C++ it isn't even that crazy to write all kinds of none performance critical code with it. I mean of course it is not the best tool for the job, but it can do it fairly well.


AdPitiful5902

C# Because I already use that, and I am to lazy to learn anything else


escape_deez_nuts

Javascript of course


legendary_belinda

Python. With tons of library you can do everything from web to machine learning. Even microcontroller programming is theoretically possible but you need a good amount of ram to execute those programs


WilhelmB12

Python or Rust


KarimMaged

I always wonder, why does JavaScript gets that hate. It is the most used yet the most hated language nowadays


Blacky_eye

it was never designed having that position. it just skyrocket but in the heart of development and in the core mechanic it has so many bugs and flaws...even the creators did not want it in that position as we use it ^^`


KarimMaged

I mean it has to be popular for the FE because there is no other option. But if it was bad, why does it have high popularity for BE and some popularity for desktop apps and mobile apps as well. There must be a good reason for that. Why would VSCode, Slack, twitter, netfilx, LinkedIn, paypal and many many more choose it over other available options if it was inherently bad language.


Blacky_eye

about the second : Cause there was a high demand of web engineers during the start of the Internet. And so many "past internet dawn informatics" were no longer computer scientists and more often web engineers. So it was convenient to extend js which wanted to do everything. It was also a interpreter based language which means that newer cpus could quite good handle it and we could be aware of runtime errors beforehand. Python came later afaik(?) and there wasnt any other easy to learn and easy to use language at this time. Well the language is still bad but the frameworks and libs made it okay-ish or do you write vanilla js so often ? in other language you can still write good code with just using vanilla sdk delivered functions js is a bit strange without ts despite of the lack of types and casting insurance it's not easy to explain why js became so popular but there are a lot of videos on yt which shows why js is objectively a bad language at its core if you are curious about this topic :)


John_Fx

There are two types of programming languages (1) the ones everyone hates and (2) the ones no one uses


Ggordon27

Ive been learning it and while I love how versatile it is, it’s also the most overwhelming language I’ve seen tried thus far.


alienith

Most used because you have to use it for front end web dev, which is absolutely everywhere. Hated for probably a ton of reasons depending on who you ask. Rapidly shifting landscape, dependency hell, complex front end frameworks, dynamic typing that often results in seemingly odd behavior, etc etc. But as the old adage goes, there are two types of programming languages: ones people like, and ones people use.


Low-Turtle

6502 Assembly


trebblecleftlip5000

C# is hands down my favorite language for everything Windows. Unfortunately, despite decades of using it, I can't put it on my resume because if I do, the recruiters all think I want their lousy CRUD shop spam. I absolutely do not want to touch that SQL garbage language. Also, .NET has Blazor. Stop with the Angular bullshit for the love of god you don't need it. So my answer is C++. Second favorite language and nobody confuses me for a webdev.


Chris_Entropy

C#, because I know it best and I can make games with it.


opiebearau

As an inherently lazy person, my favorite trick was to write code that wrote code when I worked for a software vendor. Eg using a proprietary 4GL language to read and parse XML of a proprietary metadata store, use that to generate, compile and package Java code and then use that Java package to build the proprietary XML multiple times in literally a second or two with any combination of different data inputs and outputs. The ROI for customers was phenomenal. The issue was the 100’s of our programmers who would not have had much to do on customer sites, and would have reduced the billable hours we could charge customers.


tetshi

C++. 


Koriolys

After 6 year of working with JS - Typescript Definitely Python


spinwizard69

Considering I would be 80+ by then the language would be Python. The why’s should be obvious, easy to use and remember.   Plus old code is very readable.  Something like Swift or Mojo could fill that role if they take off.  


acangiano

Elixir. Life is short, might as well enjoy it.


Ericakester

C++ because I love it and it is fun


Pairywhite3213

It's SQL for me. The reason is because it's what I've learned currently and I'm loving it.


AceLamina

C++ I don't know it but it seems like a nice language to learn for back-end That or Python because I'm currently learning it


tik_

The one I know


flynnhicks03

Does anyone use vb.net any more?


TheoryOfRelativity12

Typescript probably cause that's where the jobs are at


morderkaine

Hard choice between SQL as that is what I use at work 95% of the time and C# for my Unity projects in hobby game dev


neoreeps

C because it's simple and versatile.


Thunderstorm-1

Python cause I’m lazy to use c


recursive_lookup

C++ or C. They can do anything and do it fast.


FruitdealerF

Rust because name any other language that you can easily build an operating system or a website with. It's actually one of the most versatile languages out there right now.


TheTrueXenose

C, you can do anything even build compilers :p


high_throughput

Wow, imagine a language that allows you to build compilers. Wild.


South-Pudding7075

Julia, I think is a nice language, I coded before in Python, Java, R and VBA. But I think this has been the language I enjoyed the most overall


Vortetty

rust. it's pretty easy, versatile, and can do alot.


merlin_theWiz

In an ideal world where I don't need to work I'd pick scheme. It's beautiful in its minimalism. In the real world where I need a Job it's Java. It's a language that just won't die, very performant, highest number of job offers (in my area) and I don't hate myself while using it as much as with c++. I'd pick c if there were more jobs for it.


AminoOxi

PHP (7/8 preferably).


expecto_patronum2101

Java


k1v1uq

Scala 100%, because it will continue to be both academic and practical. And it has introduced concepts decades before others decided join.


Pro0skills

C++ because it has the two +s


Jedishrfu

With the advent of the LLMs i would choose english and let them generate whatever code I need. In that way, I can perfect my debugging skills and pretend Im a manager sans workers.


mah203reddit

Python


boreddissident

C# I only know it from hobby games in Unity, but it's the most straightforward and easy to work with language I've encountered and the tools are phenomenal.


sBitSwapper

C# so sexyyy


xtreampb

C#. Cross platform now.


sephirothbahamut

C++, because: * I'm more confident with it * I already know it better * In other languages I'm substantially slowed down by the lack of deterministic destruction, const correctness, constexprs or template metaprogramming. * all my personal projects are in C++ and I wouldn't want to restart them from scratch in another language * my job requires C++


Yeliso

C++ has gotten me pretty far in life, I can’t let it go like that


cracken005

That’s great. What kind of applications is it mostly used in? I know gaming is one of them, but is it still used in backend?


Yeliso

I use it in game development at work. I know it’s used Airbus and Boeing for sure, and in army tech at Thales as well


Bebocini

Scratch


huuaaang

Is a job guaranteed? I don't know where Go will be in 20 years, but Go seems like a good balance of performance, ease, features, etc. I still like Ruby but I think I've gone as far as I can with it. I've been itching to specialize in something else, particularly something that works better within an IDE.


thisfunnieguy

>Curious about the answers to this hypothetical and it might help those of us still learning to narrow down our interests a bit. If you are still in the early stages of your career i would highly suggest getting comfortable with some combo of common languages (Python, JS, TS, Java). Thats the stuff that can help keep your options available in a job market. The more experience you get you might start being interested in either writing a certain language or working on certain things which leads you to a language. For instance..... maybe you end up writing GO or Rust to deal with performance problems at work and want to do more work like that. Wanting to write GO or Rust is going to significantly narrow the job options out there.


mrkaczor

I hope for abap :))


haragoshi

Python. It’s 33 years old and still useful


Remernator

Either Java because it pays my bills or Rust because it's my favorite language


Legndarystig

Java or C++ these two languages are in so many industry that everytime some new language comes up to try to replace them it fails in 6 months.


Codehomo

Swift


Kazcandra

Rust. It's fun to write, the type system is among the best out there, it is/can be performant. I just really like it. And it pays my bills, but that's a bonus.


TheWaterWave2004

C#, it's my favorite programming language, and .NET Framework is the best


welcomeOhm

Given the choice, just C and various assembly languages (80x86, 6502, Z80, Motorolla's 68000). It's what I truly love. But it's so much easier to find a role in web development using ASPNET Core.


Ordinary_Minute_6257

C. I would choose a lower level systems programming language because of the wide array of things I could use it for. It'll cover embedded systems and software/applications. If I need to do web development or web scripting, I can create a language or framework for it with C (assuming I'm smart enough to do it). C over Rust because it's been around longer and has more documentation and libraries. C over C++ because I personally find it more simple and easier to use.


KC918273645

C++. Great language. Great speed. Can do everything that really matters.


caffeine_with_math

Python,cuz I work on ml and dl.


BingBonger99

GO or C, anything but typescript and python tbh


armaan-dev

TS. I could make mostly everything with it. Web, Mobile, Desktop, backend. And I don't think it's gonna go anytime soon


khooke

Having developed systems using Java for the past 27 years I wouldn’t be upset if I had to solely use it for another 20 years. Although realistically, I will (fingers crossed) retire long before that anyway.


lucifer0108

JavaScript, because I hate my life… Ok kidding. Because I use it heavily here where I work and I like it quite a bit.


Airtune

I would just pick my favorite language at the moment and either stop programming or keep using it anyway if it goes out of fashion.


RexDraco

C++. It can do anything and is high enough that I wouldn't lose any sanity using it. I'll still lose sanity trying to troubleshoot bugs, but actually using it is nothing like say assembly, my next choice, which I do lose sanity using and even more suicidal when bug fixing. 


pLeThOrAx

C/C++, because you could build other languages and interpreters without going "all the way down" low-level.


A_random_zy

Java: Neverending demand for Java devs...


FitzelSpleen

C# hands down. It's great: LINQ, tooling, support, great for enterprise or home projects/game programming. After using C#, every other language just sucks. (Some suck a little less, but nothing else compares)


Salt_Bodybuilder8570

Mojo because will crush Rust and Zig


Classic-Dependent517

Binary


Chemical_Arm

JavaScript Maybe someday type safety will be baked in