-
19 votes
-
Moving my game project from C to Odin language
15 votes -
Paper: Feminism in Programming Language Design
36 votes -
How to make Racket go (almost) as fast as C
2 votes -
Asynchronous IO: the next billion-dollar mistake?
15 votes -
Zig and emulators
14 votes -
Why not just do simple C++ RAII in C?
10 votes -
Zig: The small language (2022)
17 votes -
First impressions of Gleam: lots of joys and some rough edges
9 votes -
Let’s write a video game from scratch like it’s 1987
13 votes -
Moving beyond type systems
6 votes -
The await event horizon in Javascript
10 votes -
Critical vulnerability in Rust's Command library allows for command injection when using its API to invoke batch scripts with arguments on Windows systems (CVE-2024-24576)
18 votes -
Teaching coding to an eight year old with Scratch?
I have a relative whose 8 year old has shown a keen interest in coding. He even takes books out of the library about coding even though he's never done it and I dont think he understands most of...
I have a relative whose 8 year old has shown a keen interest in coding. He even takes books out of the library about coding even though he's never done it and I dont think he understands most of what he's reading. Seems like a little Bill Gates just dying to get started.
I used to teach LOGO to kids back when the dinosaurs roamed the earth and I looked at some recent versions. Its good, and the logic is all there, but the end results are fairly mundane for a kid who's already experienced amazing video games. Then I stumbled across Scratch, a much more visual programming tool and it seems to fit what we need. Scratch allows kids to make animations, simple games, even do motion detection, music all with sprites that they can manipulate using drag and drop coding blocks. Lots of online video tutorials that he can follow himself too. https://scratch.mit.edu/
Before I dive headlong into Scratch, just wondering if there are other even better tools for teaching coding to kids? Or what your experience might be with them?
20 votes -
Learning new programming languages with limited time: Rust, golang, or otherwise?
I want to learn a new language that I can use for personal projects. But I want to pick the right one for me, given the fact that learning it will be a time investment and I don't have a ton of...
I want to learn a new language that I can use for personal projects. But I want to pick the right one for me, given the fact that learning it will be a time investment and I don't have a ton of time for "fun" stuff these days.
I've spent a decent amount of time tinkering around with Rust and my experience has been decent so far, if I'm trying to filter it through the lens of the current Rust craze. It just seems that the code has a somewhat... ugly(?)... aesthetic to it? I'm not willing to cast it aside yet and I think the "ugliness" just comes from me not really recognizing the syntax very well.
I started looking at golang and was immediately interested in the marketing message of it being "a better C". Aside from Hello World, I haven't done anything else with it.
Some random notes/points about my experience and what I'm looking for:
- I am very accomplished with PHP, quite accomplished with C, somewhat accomplished with C++ and Python. Of those, I find Python to be too "free and easy", PHP (Symfony specifically) and C++ to be so OOP-oriented that I just end up writing a bunch of boilerplate, and C is just... C (I'd rather pull out a tooth than have to work with C strings).
- Aside from the obvious pains of C, I think it's the most fun of the bunch. I don't know why I think this, because again, I absolutely hate C strings.
- I appreciate the package management and ecosystem of Rust, from what I've seen. C-with-Cargo would be awesome.
- The older I get, the more I appreciate strong typing.
- I like a language that allows me to systematically and logically organize my code into various modules, directories, etc. This is where PHP/Symfony shines in that there's a place for everything, as opposed to a bunch of .c and .h files all dumped into a folder.
- Ideally, I'd like something that can compile into a binary that doesn't require JVM, etc.
I'm open to suggestions outside of Rust and Go... those are just the ones I've been seeing mentioned the most over the past decade.
26 votes -
White House urges use of type safe and memory safe programming languages and hardware
38 votes -
White House to Developers: Using C or C++ Invites Cybersecurity Risks
5 votes -
JavaScript bloat in 2024
51 votes -
Maybe everything is a coroutine
3 votes -
A 2024 plea for lean software
36 votes -
A reasonable configuration language
16 votes -
A universal lowering strategy for control effects in Rust
12 votes -
Koka - A Functional Language with Effect Types and Handlers
19 votes -
Is there a programming language that brings you joy?
Just for a moment, forget all of the technical pros and cons, the static typing, just-in-time compilation, operator overloading, object orientation to the max... Is there a programming language...
Just for a moment, forget all of the technical pros and cons, the static typing, just-in-time compilation, operator overloading, object orientation to the max...
Is there a programming language that you've just found to be... fun?
Is there one that you'd pick above all else for personal or company projects, if you had your druthers, because you would simply be so excited to use it?
And then, is there something missing in that "fun" language that's preventing it from actually becoming a reality (i.e. small community, lack of libraries, maintenance ended in the 80s, etc.)?
50 votes -
I want to learn Android (with Kotlin) ... should I focus on Jetpack or the old XML style?
I am an experienced programmer (mostly M$ stack -- C#, etc). I started learning mobile Android development a few months ago, learning both Kotlin and the larger Android development environment at...
I am an experienced programmer (mostly M$ stack -- C#, etc).
I started learning mobile Android development a few months ago, learning both Kotlin and the larger Android development environment at the same time. I got bogged down in tutorials and guides, because half of them teach Jetpack Compose methodology and half teach XML layout ... and, often enough, don't bother to mention which method they're using.
Which should I learn first? I am initially interested in learning Android dev for my own hobby/fun/side projects, but I would--ultimately--like to be able to put "Android developer" on my resume.
Jetpack definitely looks better, more modern, more OO, and I expect it will eventually become the new standard ... but that could still be many years down the road. Also, while it might be "better"--especially for larger projects--it also smells more complicated.
So, ultimately, I guess I should learn both if I actually intend to become an Android dev ... but I should definitely get comfortable with one, first ... so, which one?
11 votes -
An Intuition for Lisp Syntax
20 votes -
40 years of Turbo Pascal
10 votes -
Watsonx: IBM's code assistant for turning COBOL into Java
11 votes -
How Lisp became god's own programming language (2018)
29 votes -
Announcing TypeScript 5.3 Beta
12 votes -
Rewriting a Chumsky Parser By Hand in Rust
8 votes -
Introducing RustRover: a standalone Rust IDE by Jetbrains
18 votes -
Perfectly reproducible, verified Go toolchains
11 votes -
Announcing TypeScript 5.2
8 votes -
Announcing TypeScript 5.2 RC
10 votes -
Representing heterogeneous data
6 votes -
Zig 0.11.0 release notes
12 votes -
The Val Programming Language
13 votes -
Coroutines for Go
9 votes -
Forth: The programming language that writes itself
10 votes -
Announcing TypeScript 5.2 Beta
6 votes -
What is the most advanced or creative program you can create using the LOX programming language?
Lox is a toy programming language that is designed in Java and C at craftinginterpreters.com. My challenge to you is: given the constraints of the Lox language, what are some creative or advanced...
Lox is a toy programming language that is designed in Java and C at craftinginterpreters.com.
My challenge to you is: given the constraints of the Lox language, what are some creative or advanced programs you can create?
This page provides a rundown of the design of Lox.
To kick it off, here's a simple function that estimates the value of pi:
fun estimatePi(rounds) { var pi = 0; var alt = 1; for (var i = 0; i < rounds; i = i + 1) { pi = pi + alt * 4/(2 * i + 1); alt = -alt; } return pi; } print "The value of pi is:"; print getPi(100000);3 votes -
The Early History Of Smalltalk
7 votes -
Do C programmers usually create and curate a personal library for their own use?
I've been using mostly C at my current job for about half a year now, and I find myself reusing some little function that I've written for another code base in current projects. I'm relatively new...
I've been using mostly C at my current job for about half a year now, and I find myself reusing some little function that I've written for another code base in current projects. I'm relatively new to this, so I'm wondering if it makes sense to have a repertoire of general purpose utility functions and whatnot for future use.
I mean, the language's pretty established and whatever I think of must have been written by somebody else already, so is there even a need for what I'm talking about? Are there well-known open source libraries that resemble what I am talking about? Should I just include them instead of writing my own?
Sorry if this is a bit vague. General purpose as in string manipulation, debug output, buffer operations, implementations of data types not in C, etc., just to name a few examples.
32 votes -
Introducing Hurl, a terrible (but cute) idea for a language
27 votes -
Has anybody followed along with Crafting Interpreters?
21 votes -
The ideal backend language to write web apps in 2023?
I know quite a controversial and opinionated question, one that might easily get blasted with downvotes on a site like StackOverflow or even Reddit! Nevertheless, one which I believe is still...
I know quite a controversial and opinionated question, one that might easily get blasted with downvotes on a site like StackOverflow or even Reddit! Nevertheless, one which I believe is still relevant to ask and useful one even in 2023.
The problem with backend web technologies is that we are overwhelmed with choices. Whilst getting spoilt with choices seems like a useful thing sometimes, it might easily be an impediment in decision making too. Based on my experience, there are a bunch of useful stacks and I will work on any of them if you pay me to work as a freelance coder. Each has its own pros and cons but I'm yet to find the ideal one which according to me is something that should be easy to code and deploy while also better performing at the same time.
- ASP.NET: C# is the language I started coding web apps with in my last company and ASP.NET web forms was quite the rage back then. PHP was also gaining traction in the open source world and the webdev was mostly divided between the Enterprisey .NET aristocrats of Microsoft world and the poor PHP peasants of the FOSS world! One good thing about ASP.NET was performance. Since MS controlled the whole stack, they also put great efforts at making it work faster. The bad thing, of course, was dependence on a closed tech stack and a closed black box that generated JS functionality on its own.
- PHP: When I resigned from that company and started freelancing, I came to know about open source, linux, XAMPP, etc. That was when I realized that my own attitudes and thinking was more attuned to the FOSS peasant mindset than the wealthy aristocrat's! I didn't earn quite as much in freelancing with WP, Drupal, SuiteCRM, CodeIgniter, etc. but I found great happiness and contentment in being part of the open source process. Till date, PHP remains my favorite language for backend development and most of my web projects involve CodeIgniter or even pure PHP.
- Python: Flask is what got me interested in Python web development. The sheer minimalism and flexibility of that framework is what I found quite remarkable and quite a rarity in the frameworks world. And jinja2 template system was just fantastic. The other framework called django is more popular I think and I've worked on that too but Flask still remains my favorite. Flask is good in performance dept. too but I think it gets tricky once you start scaling with too many users.
- Java: I've never really bothered with Java web development except a few tutorial experiments on the Apache TomEE server. The multi-layered approach that Java takes not only has very steep learning curve but unless you're a very gifted programmer, it's practically impossible to beat the performance of interpreted PHP/Flask!
- NodeJS: Again, not much work here except brief hobby projects like http-live-simulator. The npm packaging system really turned me off initially with so many packages and issues with that system in the earlier days. Nowadays, I've heard that it's much usable but I've never gotten into it.
And now, we also have the evolving languages like Golang, Rust, etc. taking their baby steps towards web development too! Are any of them worth giving a try? If someone were to ask you for a backend tech stack recommendation while giving equal weightage to performance, developer productivity and ease of deployment, which one will you suggest?
23 votes -
DreamBerd, the perfect programming language
14 votes -
SourceHut will blocklist the Go module mirror
13 votes -
Go generics can make your code slower
3 votes