this post was submitted on 02 Jun 2023
31 points (100.0% liked)

Programming

13565 readers
1 users here now

All things programming and coding related. Subcommunity of Technology.


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 2 years ago
MODERATORS
31
submitted 2 years ago* (last edited 2 years ago) by ericjmorey to c/programming
 

It seems like there are about ~~22~~ ~~27~~ ~~46~~ ~~219~~ ~~320~~ ~~493~~ 1840 active subscribers here. I have a few questions for you all.

  • Which programming languages do you regularly use?
  • Which are your favorite to work with and why?
  • Which do you have interest in trying and why?
top 50 comments
sorted by: hot top controversial new old
[–] Gaywallet 8 points 2 years ago (1 children)

It's not really a coding language but I use SQL a lot for work. Occasionally Python and R. As you can probably imagine with this list, I'm a data scientist.

My favorite to work with is actually autohotkey, which I use to automate stuff, because it can be a fun little challenge to figure out how to automate based on the system it's running on and what I'm trying to do.

[–] ericjmorey 4 points 2 years ago (2 children)

Funny how you said SQL Python and R, my mind immediately said data analysis.

I'm not sure what autohotkey is or does. Is it Windows only?

[–] YuzuDrink 4 points 2 years ago

AHK is a powerful scripting runtime for Windows, yeah. I use it to create custom media hotkeys when using a keyboard that doesn’t have actual media keys built in. But that probably the smallest tip-of-the-iceberg of what it can do.

I had to convince IT to let me keep it installed because it CAN be used by bad actors with how powerful it is. But it’s not too different from what any program on Windows could do; just makes a lot of basic things VERY easy.

[–] Gaywallet 4 points 2 years ago (1 children)

I could have sworn at one point it was cross platform but it's seemingly only Windows now

load more comments (1 replies)
[–] karce 7 points 2 years ago (1 children)
  • Rust and Python. Python for work
  • Rust is by far the best language I've ever used and I've used a lot of them. It really can do everything and is reliable and safe as well.
  • I want to convert all of our projects at work to Rust as well if I had it my way entirely. Only thing to do is train my team on using it.
[–] ericjmorey 4 points 2 years ago (1 children)

I fear that you may turn into a crab.

load more comments (1 replies)
[–] YuzuDrink 6 points 2 years ago

At work, I use both Python and C++. At home I also try to use Rust where I can; but mostly C++, Python, and C# (largely for game engines)

[–] GandalfDG 6 points 2 years ago (1 children)

For work I currently use C and python mainly, and for some personal projects I've been using python backends with JS/Vue frontends.

I really enjoy Python, but as I use it more I've found the quality of the docs to be an impediment. They're hard to reference quickly.

I really want to start using Rust, but it's not really applicable to the kinds of projects I'm currently working on. I've started picking up some Clojure and PHP for two open source projects that I've started contributing to.

load more comments (1 replies)
[–] AbelianGrape 6 points 2 years ago* (last edited 2 years ago) (2 children)

I teach a class taught in OCaml. Despite that, I don't really like OCaml. It's good for education but IMO not that great for actually using it. My brother works at Jane Street and even he agrees... Like, it's fine, but not great.

Beyond that I make regular use of Haskell and Python for my graduate research and personal projects. I recently took a course in Java, but unless I don't have a choice, I'd rather use Kotlin. I'm also involved in the hardware simulator Turing Complete, so a lot of my side projects lately have been ETCa assembly programs.

I want to learn Rust and Scala, probably in that order.

edit: I also quite like Scheme and I used it for advent of code last year. Unfortunately I don't get opportunities to use it much, but if I ever get to teach a compilers course, I want to try the "reverse nanopass" approach that is currently used, I believe, at Brown University.

load more comments (2 replies)
[–] getynge 6 points 2 years ago (1 children)
  • Go, typescript for work; Rust, C# at home
  • The simplicity of go is very welcome, rust is nice because it feels like I can do anything yet it nonetheless keeps me from being too stupid.
  • I've dabbled in SBCL and Haskell before, but I'd like to take the time to properly learn one of them
[–] ericjmorey 4 points 2 years ago

I'm working my way through Haskell Programming from First Principles it's been very good so far.

[–] honeyontoast 6 points 2 years ago (1 children)

C# is the only language I use professionally and personally. It's easy to pick up and a jack of all trades. It does the job for pretty much anything I'd want it for. Especially now it has Blazor, I don't even need to faff around with frontend frameworks and deal with javascript/typescript, which I never enjoyed doing.

(That said I did recently play around with Svelte, and if you do like frontend frameworks I found it to be the best out there personally)

[–] GandalfDG 5 points 2 years ago (1 children)

How does Svelte compare to Vue, if you've tried Vue before? With my degree in Computer Engineering, I never really touched much on the web until I started playing with it for my own projects after I graduated

[–] honeyontoast 5 points 2 years ago

I'm afraid I'm not familiar with Vue, I'm mostly comparing to Angular. The main reason I like Svelte is because it's very quick to get up and running with very little boilerplate. Things that I found quite complicated to implement using Angular can be done in one line (or three) with Svelte. Passing values between components, routing, it's all super simple. If you're mostly interested in backend and just want something easy to use for the front-end I think it's ideal. Documentation isn't bad either.

[–] edent@lemmy.one 6 points 2 years ago (1 children)
  • PHP. It remains the only language which you can just FTP onto a server and have working. No need for package managers, docker instances, funky routing, or complicated frameworks.
  • Python for anything local. No waiting to compile. Vast library of useful features. Mostly sane syntax. And, again, most machines have it by default.
  • Drakon. Perfect if you want to visually sketch out an algorithm. Like Scratch, but for adults.
load more comments (1 replies)
[–] Urbeker 6 points 2 years ago (3 children)

Learnt Java first, then moved on to c# and dotnet. Job meant I needed to learn c, then shudder managed c++ then plain c++. Got pretty good at c++ and then moved on to Rust and haven't looked back, had to also pick up python recently. At some point I also learnt f# and a bit of haskell.

load more comments (3 replies)
[–] hazelnoot 6 points 2 years ago (1 children)

I regularly work with C#, JavaScript, TypeScript, and PHP. Of those, C# and TypeScript are my favorites. I'm also planning to try out Rust eventually, but atm I don't have time to learn such a complex language.

  • C# - Very clean and concise syntax, performant runtime, excellent standard libraries and tooling. Later versions (.NET Core and newer) have top-tier async, generics, and DI implementations. Biggest downsides are reliance on a runtime and lack of union types. Ever tried to implement ActivityPub (or any other polymorphic API) in C#? Not a good time.
  • TypeScript - the best type system that I've ever worked with. With a bit of thought and planning, you can model complex requirements directly into the type system. The language is comfortable and easy to use, although some advanced types can become hard to read. Its biggest flaw is that its tied to JavaScript. I would love to one day see a language that's basically just C# + TypeScript's type system.
  • JavaScript - I only use it in legacy code. For anything else, I just use TypeScript.
  • PHP - I actually have a fondness for PHP, even though its not one of my favorite languages. I'm still maintaining one hobby website in full-custom PHP 8. The language has developed a lot recently and has resolved many of the classic problems that made it so awful in the PHP 5 era. Its well on its way to becoming a viable option once again.
  • Rust - Rust is the first language that I believe has a real chance of displacing C++. It solves the same problems with dramatically more safety, and has all the bells and whistles of a modern language to boot. I probably wont use it much in my work (I mostly develop LOB apps and websites), but I do expect it to gain widespread use within low-level and high-performance applications over the next 10 years.
[–] ericjmorey 4 points 2 years ago (2 children)

TypeScript - the best type system that I’ve ever worked with. With a bit of thought and planning, you can model complex requirements directly into the type system. The language is comfortable and easy to use, although some advanced types can become hard to read. Its biggest flaw is that its tied to JavaScript. I would love to one day see a language that’s basically just C# + TypeScript’s type system.

I feel like you'd appreciate Ocaml, ReasonML, and ReScript.

The future of Rust seems promising. I'm also intrigued by Odin as an alternative to C.

load more comments (2 replies)
[–] leetnewb 6 points 2 years ago (2 children)

I don't have any professional experience or ambitions, but:

Use nim for personal projects. It feels like there is less boilerplate than others I've tried and it felt more natural to me than python. Faster than python and compiles. Plus has a javascript backend option. Pretty neat language all in all and does an ok job from scripting to web.

Interest in trying? Probably Kotlin. Seems like another language with wide utility.

[–] sotolf 7 points 2 years ago

Wow, I wasn't expecting to find another nim user here, It's what I use as well, and it's just a very fun and nice language to work in :)

[–] TofuSauce 4 points 2 years ago (4 children)

I've only heard of nim thanks to the discourse around Mojo, i'll check it out !

load more comments (4 replies)
[–] Mars 6 points 2 years ago

For work: Java (legacy projects, JSF, Old Spring versions) and JavaScript.

For stuff y do for friends and myself: Typescript, PHP (WP, Laravel)

I’d say I’m most productive in Typescript right now.

I’m learning some Rust. Want to look into Go soon.

[–] Neuromancer@lemmy.ml 6 points 2 years ago* (last edited 2 years ago)
  • Prehistoric C++: Core language for my main project at work. Unfortunately we're stuck with C++98, but it's still a massive improvement on C.
  • C: For some of the older parts of the aforementioned project
  • Python: For test automation for the aforementioned project, also rapidly becoming the main language within the community that covers my secondary work project. I used to really not care for Python, but to the extent it displaces MATLAB I'm 100% in favor of it. I've also grown to really like it in the test automation role. The only thing I could wish for is that it had a mode that required type hints across the board.
  • Modern C++: Used for my other work project. While I do think that C++11 is a huge step up from C++98, I think the later standards have added a lot of cruft and very little value. Given the choice I would definitely take modern C++ over C++98, but I'd really rather be writing something like Rust
  • Java: This was a mistake I made years ago when I started a project as a very junior developer. Unfortunately I work in a research context where even as the junior developer I was still the most experienced developer on the team when it came to some things. We needed a REST API for this project and doing it in C++ didn't seem feasible at the time (no idea if it's better now). Some other teams in my org where using Spring so I jumped on that bandwagon. In hindsight, I wish I had written the API in Python since we're slowly moving a lot of our C++ code into Python on that project now.
  • Shell: For automation that's just a little too easy to bother with Python
  • Rust: Only used on hobby projects for now, but it scratches the same itch as C++ a thousand times better. The language itself is wonderful once you get used to the borrow checker and cargo is an incredibly valuable part of the ecosystem as well.
[–] Penguincoder 6 points 2 years ago* (last edited 2 years ago)
  • I use whatever language can accomplish the goal. That's been C mostly ( and paid for ). Recently more and more Golang for hobbies and new projects. Definitely some python code.

  • Favorite has been lua, embeddable, lightweight, quick, and doesn't have bloat

  • interested in learning Nim, Zig, and Rust.

[–] SoaringFox 6 points 2 years ago (2 children)

Python is what I use primarily at work. I like using it for what I do. SQL as well if you count that.

I want to get more into C#, Swift, and Godot.

load more comments (2 replies)
[–] lodronsi 5 points 2 years ago (1 children)

I mostly regularly use JavaScript. For a decade I worked as a front end developer for an enterprise web product. I've since moved into UX leadership, but still program for fun when I can find the time. I tend to use React/Node/Postgres because it's what I'm comfortable with. It lets me keep my skills sharp, experiment with UI patterns, and solve problems for myself. I don't find myself experimenting with new languages or frameworks as much anymore.

[–] ericjmorey 3 points 2 years ago (1 children)

Someone has to herd the cats.

[–] lodronsi 4 points 2 years ago

Haha very true. Although I heard designers more than developers these days.

[–] neosheo 5 points 2 years ago

I use python mainly because thats what i learned programming with. I like the bracketless design, no need to track down unclosed bracks/parenthesis plus its versatile and can do most anything.

Other the python the other one i mainly use is bash. I know JS and C but don't really use them much.

I want to learn more C just because Im interested in diving deeper into how memory is managed but just havent found a suitable project to start using it for.

Ive been learning a lot of web design and want to get back into JS because i wanna start doing frontend, since i mostly know backend.

That being said i'm also interested in php because i think it's cool that i could run a script directly on the backend without an api

[–] The_Hunted_One 5 points 2 years ago

Currently using C# for work, which was a nice change of pace from VB.net before that.

Also some frontend work with JavaScript and bootstrap, but it's not my idea of a fun time.

Working on finding time to learn Ruby and Go, so I can have lateral options within my company

[–] moeris 5 points 2 years ago (2 children)

Professionally, I mostly use Kotlin, Typescript, and Java.

For fun, I've recently been using BQN, which is quite nice compared to J, which I had been previously using. I also use Elm, Rust, Python and a smattering of others.

load more comments (2 replies)
[–] Towerism 5 points 2 years ago (5 children)

Mainly JavaScript, typescript, html, and scss. Occasionally bash and groovy. My favorite to work with is typescript. It’s a superset of JavaScript so naturally JavaScript is a very close second. I am interested in ruby and rust. Just because those are the two languages that I have been enamored with in the past so they are the ones that I have spent more free time than any other learning about them and using them for side projects.

load more comments (5 replies)
[–] xan@lemmy.one 4 points 2 years ago (3 children)

For work: PHP, Ruby, JavaScript (Svelte, Vue), CSS (debatable on if it’s a prog lang) For fun: Swift.

load more comments (3 replies)
[–] r3d5un@lemmy.ml 4 points 2 years ago (2 children)

Python and C# for the most part. I'm also putting serious effort towards learning Rust, but I likely won't be able to use it at work. It's a good learning experience, and I can tell that my code after learning basic Rust in C# and Python is better than before.

load more comments (2 replies)
[–] Garrathian 4 points 2 years ago* (last edited 2 years ago)

JavaScript/TypeScript (React, Angular), Python, PHP, Go, and Java (Spring) are all languages I've had to use for work in some form or another over the last year (not counting bash scripts and the like).

I like Go and Python the most. Used to like Java but it feels like overkill for the projects I support which are all smaller in scope. I would like to learn Rust or brush back up on my C at some point, it's been awhile since I've used it.

[–] rothaine 4 points 2 years ago

Typescript primarily.

[–] 1rre@lemmy.org.uk 4 points 2 years ago (1 children)

I work with C# & TypeScript, which frankly I don't find too bad

I love to work with Scala though, I find there's a really nice way to do almost everything, and C is nice because it allows so much control over what your program is actually doing - same with OCaml really, however the ability to use Java libraries in Scala makes it that bit better

I'd quite like to try Spatial for hardware in the future

load more comments (1 replies)
[–] Hexorg 4 points 2 years ago (1 children)

I regularly use Python, C++, and Java. My favorite are Rust, C, and assembly I want to try Haskell because it looks like pythoned rust. Yes I know Haskell is OG complex typing system, but I learned Rust and Python first.

load more comments (1 replies)
[–] aph 4 points 2 years ago

I use Python primarily both for work and personal projects and its currently my favorite. For me, having a powerful REPL like iPython available to use for quickly trying out ideas is awesome.

I'd like to learn some more golang, I picked some of it up a while ago and I think it'd be nice to have a compiled language as a companion to Python.

[–] mifuyne 4 points 2 years ago* (last edited 2 years ago) (3 children)
  • I think Javascript is the language I've spent the most time with throughout my life. I used it to create internal tools at my last job. I'm using it now on a personal project that I plan on adding to my portfolio.
  • Python. I find the syntax tends to be straight to the point. But it's so easy for me to get them mixed up with Javascript. The one that I have to keep going back and looking it up is len(list) vs array.length. Yes...I did have to look it up to make sure I got it right 😞
  • I'm actually going through exercism.org #12in23 challenge (12 languages in 2023). Out of the new ones I've tried so far, Rust, Red, and Elixir are the ones I'm interested in going back into. Largely out of curiosity. I also like learning new languages because they can help improve my understanding of more general concepts.
load more comments (3 replies)
[–] KickMeElmo 4 points 2 years ago
  • Bash and Lua, though I'm a bit out of practice with Lua.
  • Both for different tasks. Bash is great for just getting shit done, Lua for when I need a bit more finesse than Bash can manage.
  • I'm open-minded. Definitely want to learn Python since it's so popular (and thus I could fix broken python scripts once I understand it), but I'm up for most things really. Just need a good usecase so I don't get bored and drop whatever I try to pick up.
[–] Mindless_Enigma 4 points 2 years ago
  • C#, Angular, and SQL for work
  • I like working with python for personal projects since most of those are thrown together super quickly just to get the job done.
  • Kotlin and Rust both seem interesting to learn.
[–] TofuSauce 4 points 2 years ago
  • I'm currently using VBA and Python for work. I'm starting to be okay at VBA but it is such a hellish experience. This feels like such an outdated language. Python with type hints is fun even if its easy to be messy.
  • Java because i'm most familiar with it, and Rust because it feels like you are gently guided toward correctness
[–] glad_cat9187 4 points 2 years ago

At work I mostly use C++20 for the applications (because I like money), and some Python for the continuous integration. I would like to learn more about Rust (and maybe use it for work), but I don't have a lot of time to go beyond the basics. C++20 is easier than the old C++ but it's still annoying sometimes.

For personal projects, I tried Kotlin and Swift (mobile applications), Rust, and a thousand other languages that I don't remember.

[–] Domiku 4 points 2 years ago* (last edited 2 years ago)

No Swift? I use it exclusively for my app development, but I also teach HS computer science. We use Java, JavaScript, and Python across my different classes.

I'd really like to learn Rust, but haven't had a compelling project to get me started.

[–] climufat 4 points 2 years ago (1 children)

At work it's mostly python, .net core and javascript (regrettably).

Personally, I used to write a lot in C and C++ for embedded, but recently diving more into other areas. Developing quite the love for Golang (GO) and it's simplicity.

load more comments (1 replies)
[–] RosemarySolomon 4 points 2 years ago
  • Go and Terraform/helm (sorta counts) for work. Rust at home. I usually need to interpret Python at home as well, I have some Home Assistant setups but not actively using it.
  • Rust is great, it has a learning curve I'm getting used to with syntax vs. Go but I'm getting the hang of it. I would love to find work where I use Rust daily.
  • Right now I'm interested in Rust, so gonna go that route. The Bicep config for Azure looks interesting, so hopefully will try that out sooner or later.
load more comments
view more: next ›