As for me, I used to use VSCode for my various university assignments. On my first years, we mainly did some Java in Eclipse, which I didn't really like so I ended up swapping to Jetbrains (i got a free student license!). We also did some really light dabbling on JS/Python and C. On my last year, we went a bit more corporate friendly and we did some some Spring Boot and some React/React Native projects with some Bootstrap to make the front end look generic as hell. Also, one of my teachers that year really liked Apple for some reason, so we of course had to do some Swift on XCode.
As for the stuff I've done willingly, my last (and only) project is a forum, so of course I copied flash as much as my newbie skills alowed me and picked up XAMPP. I write stuff with Sublime Text 3 for now. I do have to set up XDebug properly with Sublime because I feel like it'd really help me to diagnose certain stuff at time, although I've been doing decently so far without it.
About languages that I'd like to check out eventually, I guess that I would like to learn C (or D) at some point, it seems fun.
Some examples of questions if you don't know what to talk about:
- What programming languages have you coded on?
- Which languages do you tend more to use for each type of project? (webdev, desktop apps, scripts, mods for games also count because those are always interseting to hear about)
- What about frameworks, do you/have you used any?
- Favourite IDEs/text editors? Or just talk about some that you've worked with in general.
- What about languages or other things you would want to try on the future?
- Do you know how to exit Vim without doing Ctrl+Z?
Keep in mind that we already have a pinned What Are You Working On (WAYWO)? thread in case you wanna ramble more in detail about a certain project of yours. Obviously you can talk about your projects for a bit in here as well in order to put your post in context, but if you want to talk more in detail about what you have done/are doing and your future plans, those go on WAYWO! (if you turn the second W down you get waymo haha)
What programming languages have you coded on and for what type of project?
webdev
- PHP (the goat)
- Rust (most of the little services and APIs I make are in Rust using
axum/warp/actix, it's very pleasant to work with and also not fuck around with php-fpm and whatnot) - HTML+JS+CSS as a foundation ofc cause you can't get anywhere without it
- a little bit of WASM so far but I'm planning to use it more as a sworn enemy of site accessibility
desktop programs
- Rust (almost exclusively, especially with
ratatuifor TUIs, andeguiandicedalong with somedioxusfor regular interfaces) - kind of a honorable mention but recently some QML, because I started using quickshell and it's honestly the best thing since sliced bread - made it have everything that my waybar had but then could style it way better and also added custom modules and windows for controlling Home Assistant and for keeping track of my MediaMTX instance metrics
What about frameworks, do you/have you used any?
I use em a couple of times and I forget about em. React wasn't terrible but it was incredibly boring. Any other web stuff like Django, Angular, etc. were so ass that no matter if I used it solo or in a team I had a feeling akin to a code equivalent of "this could've been an email" boiling me from the inside.
Favourite IDEs/text editors? Or just talk about some that you've worked with in general.
vim/neovim hands-down the best, but the plugin system and clipboard issues were annoying enough that I just use Zed in vi-mode nowadays which I can describe as not-ass vscode.
What about languages or other things you would want to try on the future?
I desperately need to start getting more into embedded and actual physical electronics. I always loved low level stuff but was discouraged through my disdain for lack of reproducibility (which in electronics could be anything from things actually relevant to the piece of tech itself like different components, to other more ambiguous things related to the hobby itself like component availability, shipping times, fixable vs fatal errors, etc.) along with somewhat of an inversely proportional versatility to fun factor (where the more fun it is to use some specific microcontroller or FPGA maybe, the more you have to lock yourself into some weird winXP-looking program stack that runs on a rainy day if you sacrifice a child, and also is different for every board ever).
Do you know how to exit Vim without doing Ctrl+Z?
Easy, just close the terminal emulator with whatever hotkey provided by your window manager of choice, and then delete the .swp
What programming languages have you coded on?
- HTML/CSS/PHP/JS for webdev stuff... mostly self taught
- Python; it's needed for school. everything is python in school
- 68K Assembly; learnt it in school
What about frameworks, do you/have you used any?
- Vite (React), TailwindCSS, Bootstrap, Fastify (Node.js)... It's a learning curve for someone who developed things manually. But I guess I should get on with the times as funnily named "Tech Stacks" become more popular...
- Also looking into creating Telegram bots with Python
Favourite IDEs/text editors? Or just talk about some that you've worked with in general.
- Visual Studio Code is my go to, highly customisable, has a shit ton of extensions, has workspaces etc... Integrates nicely with git and some python stuff too.
- Notepad/NP++ is used as a "scratchpad" sometimes.
What about languages or other things you would want to try on the future?
- I would like to learn C. I'm taking a Computer Security course and we've been learning about memory safety and trying some buffer overflow exploits (in an controlled environment, with ASLR off) with insecurely written (on purpose) programs. I thought it was quite interesting looking at how memory can be overwritten in unsafe programs.
Do you know how to exit Vim without doing Ctrl+Z
- Proud nano user (i only know :wq in vim....)

Workflow and projects
My workflow can best be described as being very games-programming-brained, perhaps at the expense of not being as efficient as it could be for certain projects, but it serves me well. I write mainly in C and use scrappy libraries like SDL, stb, and Dear ImGui to put stuff together.
I've mainly been toying around with projects related to reverse engineering games for a certain old console, which entails knowing a lot about how C/C++ compilers work and parsing PowerPC assembly. I've also spent a bit too much time making crazy patches for emulators related to dumping execution and graphics states, though I did learn a lot about C++ codebases and features I wasn't familiar with in the process.
Misc stuff I've used is Python, HTML/CSS/JS, React, and some SwiftUI.
Text editors/IDEs
I happened to already know Vim before I learned anything about programming, so that's what I use (However I probably would be using emacs if those events were reversed). One of the things I'm writing is my own text editor that addresses the things I don't like about Vim, which hopefully I will be making my regular editor for my C projects. I'm not a ride-or-die for Vim's modal state and will see how I like using more traditional keybinds in that editor.
As for IDEs, I don't care much for the selling-point features they have like error highlighting or jump-to-definition, so the debugger I use is just a frontend of gdb called gf. It gets the job done fairly well and definitely reduces printf() debugging, but I'm keeping an eye out for when the Linux port for RAD Debugger is finished.
Languages I want to try in the future
- The biggest thing I ought to try out is definitely Rust, with how popular it is and how different it is from the other languages.
- I likely will focus next on Apple ecosystem development (Swift, Objective-C, SwiftUI, UIKit, etc) for job-related reasons.
- Jon Blow's language when it releases of course... :c
Can I exit Vim???
I make sure to :q and verify the state of any unsaved files, because there's nothing worse than doing :wq and then you get a random bug when you compile the next day from a weird shortcut you accidentally performed on a file that deleted a line or something.
What programming languages have you coded on?
mostly C and C++, much more of the former. For small one-time scripts it's usually bash or python.
I've done a bit of JS for my website, but that has all been removed as I simply don't need it anymore. I'm satisfied with how my site looks right now, so I don't think I'll be changing anything drastically any time soon.
What about frameworks, do you/have you used any?
I have only used Qt (does that even count as a "framework" in the modern definition?). It's okay. It's certainly a framework, everything you write is basically required to be coupled with it in some way or another (see: QString, QThread, ...). This isn't necessarily a bad thing, but it does mean moving anywhere else is bound to be a pain in the ass.
I'd prefer if there were a more "lightweight" GUI library but my intuition says that's an oxymoron. IUP is probably the closest thing I've used to that.
Favourite IDEs/text editors?
GUI
- Sublime Text
- Notepad++
TUI
- nano
What about languages or other things you would want to try on the future?
I like to stick with what I know and just keep learning more on top of it. Maybe I'll try Rust in the future. I tend to take on projects at random.
Do you know how to exit Vim without doing Ctrl+Z?
yes, and then I reopen the file with nano
My main programming language has always been PHP and that will likely remain the case, especially with how the language has been much more rapidly evolving after they killed PHP 6.0's decade long development hell. I used to do a lot of C# but I've lost any and all interest in that language, not because it's bad but just because I find it boring to write in at this point, and given that I switched away from Windows and no longer have consistent access to Visual Studio proper, it's also just a lot more cumbersome to write to me, Code's C# extensions have never really done it for me. I'd also say I'm fairly acquainted with Javascript, especially after dropping my vendetta against it and embracing more of its modern features it has actually become somewhat fun to write. I enjoy Lua and have been giving myself an excuse to write more of it by writing Satori's commands using it, but given Satori is still stuck as a C# hellhole for the moment I'm somewhat limited in contiuing that for now. I'd like to move Satori to the D programming language, but I take on too many projects to be able to really focus on taking on a project of that degree and the repository has been sitting idle for a bit, I do sense a desire to pick it up again sometime soon though. I've also been dabbling in C, I haven't touched it much yet but writing classic Win32 applications recreationally targeting Win95-XP seems like it could be something interesting, Objective-C's approach to object oriented programming seems like honestly a really good way to do it to me so I would like to check that out, honestly a shame C++ ended up being the more popular one and I would also like to check out Rust someday also, the way it handles ownership really tickles my fancy.
I've never really been one for frameworks. I tried Laravel (5.x) back in the day but came to the conclusion that I'm just not much of a fan of the MVC paradigm, I prefer mutability being by necessity rather than the default and clear ownership roles. I have my own stinky common library for PHP projects calling Index that you could consider to be a framework and I've been investigating AMPHP which I'll probably end up using in tandem with my own library.
I actually had an instance a few days ago where I closed Helix using :wq instead of :q! out of habit and ending up creating a stray empty file lmao.
What programming languages have you coded on?
These days I use C and Lisp almost exclusively, though I will probably never shake using Java because of my love of making and modifying Minecraft mods. In the past I have used C#, Python, OCaml (I'd like to use it more) and various machine assemblies, mainly Z80.
Which languages do you tend more to use for each type of project?
C for anything where I care about portability and efficiency, and Lisp for other stuff, though sometimes making the decision of whether to use Common Lisp or something else like Scheme can be difficult. SBCL is actually pretty fast and from what I understand its compilation is actually pretty decent (though still by no means as good as the major "fast" languages, afaik). Scheme is preferable for the clarity it offers and I feel like when I write something in Scheme I tend to lean more into the nerdy stuff whereas most of what I've made in Common Lisp is pretty run of the mill using for loops and setf and whatever else.
Favourite IDEs/text editors?
Vim all the way. I was really surprised by how fast and convenient neovim is, and for a while I was resistant to switching over and giving up my oldvim configs but I realized it might just be better to switch to lua because if we're being honest vimscript kind of sucks balls. I did also go through an emacs phase for a while and I'd really love to go back to emacs, but the main thing holding me back is speed (sorry KP). I tried to get a good setup with evil mode and a syntax highlighting plugin, but it was so laggy I felt each letter being held back, especially in large files. it really started to piss me off when I went back and compared it to using nerdtree and realized there was absolutely no lag in the same files.
What about languages or other things you would want to try on the future?
I'd like to get more into OCaml as well as other FP stuff. I'd also like to take another look at logical programming because I think it has a lot of legitimate uses, but what I'd really like is a system in a larger language that allows a lexical representation of logical structures to be mixed with normal imperative code.
Do you know how to exit Vim without doing Ctrl+Z?
[REDACTED]
programming languages
live literate programming
In the past bit I've been working with data science-ish things (images and videos). So naturally it's all inside of Python Notebooks because fast feedback is important. It helps if I have to grab an off the shelf model in PyTorch (or TensorFlow (Python) if it's really old). I'm okay with this state of affairs so I have no real incentive to try something like Julia, although I do generally try to avoid MATLAB on every turn. For those unfamiliar, most of the work in this area is actually done with wrappers over things like BLAS or some GPU interface like CUDA, so performance is not terrible.
uv has solved most of the Python environment troubles for me in place of something like conda.
If it's something to do on my own that needs to be embedded into a webpage I actually quite like Livebook as of late (I had previously deployed some small graphlets with Observable), which brings me to Elixir.
backend web stuff
I'm actually quite new to servers having written my first lines in a Django app a little over a year ago. These fat frameworks (Rails, Laravel, Django, etc.) are usually quite opinionated (MVC or otherwise) in code organization. (In Elixir there is Phoenix. BTW, Phoenix LiveView enables live client UI updates without leaving your server codebase, which is very cool. I highly recommend checking it out If you hate frontend.)
Thankfully most of those web frameworks (including Django) can't force you subscribe to it and you are able to structure the code the way you please. So using some of the packaged functionality doesn't mean you have to subscribe to a mental model. The project in question ended up turning into an API-only server with Django Ninja, which, for those familiar, is more similar to FastAPI/Flask in organization.
But ultimately code organization is just that, organization. It's shuffling cards on the table while ultimately the business code needs to live somewhere and really can live anywhere. I think where Elixir (and BEAM more generally) really differs is the handful of unique advantage not found elsewhere like the ability to trace and instrument quite literally everything, or its unique flavour to concurrent programming with the Actor model which are completely different to Promises/Futures (async-await/coroutine/continuation, or callback-based) that you may find elsewhere.
The best elevator pitch I can give is this: First forget about single-threaded languages like Python, PHP, or JavaScript and consider the two major issues in concurrent systems -- starvation and races. Elixir/Erlang on BEAM provides a VM with a preemptive scheduler to provide certain starvation-free guarantees while the functional nature of the language locks data immutable. An added bonus is that things that you might have to bring in things like Redis can be done inside the same application. (See Oban.)
But the downside of BEAM is that it is a fairly sophisticated runtime and is usually not the most CPU-efficient despite its design with latency (consider average makespan of all client requests) optimization in mind with its roots in telecom. (Of course it isn't "slow". It's hard to be slower than "Those Interpreted Languages Who Start With P" being on a bytecode platform like the JVM or CLR.)
I think having some idea about types on the server is generally desirable. Elixir is in the process of rolling them out. This seems to be a trend among interpreted languages as well, e.g. PHP, Python, etc. In this regard I'd like to try Gleam as well, which is another BEAM language.
The other direction that I want to explore is to optimize for performance so that clients don't need to wait to begin with. I'm interested Go, Crystal, and of course Rust in this direction. I've written some toy things in Axum and it was generally a positive experience.
frontend
Mostly Svelte if something beyond Vanilla JS is really required. I'm not as much of a fan for JSX/TSX.
"systems" apps
It's quite a shame that C++ is probably still the language where I move the fastest in this category. I've been playing with Zig and Rust on and off. I'd like to spend more time with them if only to escape C++ tooling, without even mentioning things like much easier metaprogramming. (See Reflections on porting C code to Rust.)
I think it's interesting that Zig is adopting something similar to an IO monad with the new IO interface. I'm excited to play with it soon.
I can't help but wonder whether there's some inverse correlation between the presence of an IO monad and the language's popularity (cue Simon Peyton-Jones's words about Haskell "avoiding success at all costs"). But Rust is also the first language with lifetime semantics (in this case with affine types) to see mainstream adoption, so we'll see. I'm also curious if there will be more things that gain momentum in this area in the future, for example linear types.
DSLs
There are some macro packages in Elixir like Ecto which are popular enough to be "standard". But I also like more ad-hoc DSLs despite the challenges it poses for other people reading my code. I like how the boundary between a library and a DSL is blurry in Lisps and ML-based languages like Haskell or OCaml. This is something I'd like to play with more at some point, as opposed to things like Rust macros or entirely data-based representations like regular JSON.
editors
I have OpenBSD's mg as my $EDITOR. I'm a big fan aside from the lack of Unicode support. This reminds me to try QEmacs of Fabrice Bellard (of ffmpeg, QEMU, tcc, QuickJS, and more fame) again.
I run Python Notebooks inside of VSCode (running them inside Jupyter previously). It's also worth mentioning the advantage of a Web-based editor for typesetting applications (as you generally need to look at live PDFs). Typst with Tinymist in VSCode gives fast bidirectional jumps between source and preview, but I sometimes end up working people who are accustomed to using LaTeX and/or Overleaf and there's no way out there.
do you know how to exit vim without doing ctrl+z?
I find it kind of weird that I never really enjoyed Vim as I do like using Blender, since they share context-dependent modal editing behaviour in a way. But anyway whenever I get accidentally dropped into Vi(m) I try to wrap up what I'm doing as quickly as possible and :wq.
