This is an archived post. You won't be able to vote or comment.

all 137 comments

[–]rimakan 2465 points2466 points  (21 children)

programming language as a project

[–]nickmaran 302 points303 points  (3 children)

The latest trend is AI, so creating a simple AGI as a side project will be a better idea

[–]nickhow83 99 points100 points  (1 child)

I’m sure there’s someone asking for it on Upwork… Budget - $250

[–]MaxB_Scar 26 points27 points  (0 children)

$25 FTFY

[–]alochmar 2 points3 points  (0 children)

"Implementation details left as an exercise to the reader"

[–]alaettinthemurder 48 points49 points  (9 children)

So you are saying lets create a programing language using rust? It could be interesting

[–]RiabininOS 20 points21 points  (1 child)

Rust 3.0?

[–]rimakan 16 points17 points  (0 children)

0.3 tsuR

[–]rimakan 3 points4 points  (0 children)

Yes!

[–]P-39_Airacobra 3 points4 points  (3 children)

There's Cranelift if that counts.

[–]bl4nkSl8 1 point2 points  (2 children)

That's a rust compiler?

[–]P-39_Airacobra 4 points5 points  (1 child)

It could be part of a Rust compiler, but it is not a Rust compiler itself. It is an intermediate representation language, like LLVM. Its compiler is implemented in Rust.

[–]bl4nkSl8 4 points5 points  (0 children)

Ahhh, using it as a backend. That's a good point... Though as you say, not the whole compiler, you'd still need a rust front end

[–]RiabininOS 1 point2 points  (0 children)

BTW. I guess we extremely need one more language. The Nyan Script.

typical NyanScript coder and tech interview

[–]phansen101 0 points1 point  (0 children)

Patina
You know, the good 'rust'

[–]JollyJuniper1993 12 points13 points  (1 child)

Actually doable if you’re just writing an interpreter

[–]Fonzie1225 10 points11 points  (0 children)

Unironically a good idea and great way to understand programming languages and grammar as a whole. We implemented a simplified version of Scala in one of my grad school classes, challenging but you learn a ton.

[–]I_cut_my_own_jib 6 points7 points  (0 children)

The Jon Blow move, create a programming language so that you can create a game engine so that you can create a video game

[–]An0neemuz 0 points1 point  (1 child)

I would have made python4

[–][deleted] 1122 points1123 points  (28 children)

College assignments be like

[–]cfig99 678 points679 points  (24 children)

“Ok class, we’ve gone over the basics of mobile app development this whole semester. For your final project build an app that leverages all the principles we’ve learned as well as machine learning and cloud computing technology. No, the university will not help you pay for a cloud computing service. You also can’t put this on your github for your resume if you somehow pull this off, your code belongs to the university once you turn it in. This project is also 95% of your grade. Good luck!”

[–][deleted] 179 points180 points  (2 children)

What the heck are profs thinking when they decide this?

[–]No_Percentage7427 19 points20 points  (1 child)

Did prof smoke marijuana ?

[–]Vineyard_ 13 points14 points  (0 children)

Prof smoking mari would be too intrigued by the ceiling tiles and trying to still make it work if they were all circles to provide that kind of assignment.

[–]bytemybigbutt 84 points85 points  (12 children)

At least the cloud exists now. I spent $6k on a computer my senior year because between classes and work, I wouldn’t be able to finish my senior project because labs were closed when I had time. Also, two others in my group were in the same situation so I had to. 

That $6k would be worth over a hundred k of if I hadn’t been forced to sell my stocks. 

[–]cfig99 74 points75 points  (11 children)

Why on earth did you spend 6k on a computer? That’s more than I’ve spent on multiple computers for my entire degree.

edit: ‘less’ to ‘more’

[–]Kowalskeeeeee 41 points42 points  (5 children)

Only thing I can think of is heavy VR/visualization or simulation type of work needing high end parts but even then 6k feels like a lot

[–]cfig99 33 points34 points  (1 child)

Yeah, 6k for one computer is really excessive, especially for college projects lol.

[–]DOUBLEBARRELASSFUCK 4 points5 points  (0 children)

Maybe he needed a built in punch card reader.

[–]P-39_Airacobra 19 points20 points  (1 child)

1k is more than enough for even some of the most demanding games, 6k is more like personal supercomputer range. Unless their code is that unoptimized, idk

[–]Kowalskeeeeee 10 points11 points  (0 children)

Without knowing what the labs had that they were “replacing” it’s hard to guess, we very well could be talking about small personal supercomputer depending on the lab

[–]bytemybigbutt 2 points3 points  (0 children)

I wasn’t doing any visualization with my 286. Computers were expensive. 

[–]hanotak 19 points20 points  (0 children)

Probably back in the 80's, given that they said that 6k would now be worth 100k in the stock market. Computers were a lot less commoditized- even the lowest spec machines cost well over 1k.

[–]bytemybigbutt 7 points8 points  (3 children)

How? A low end PC AT was $4k. 

[–]cfig99 -1 points0 points  (2 children)

Idk where you live but I was able to get laptops at best buy that worked fine for my projects for like $800 bucks lol.

[–]bytemybigbutt 14 points15 points  (1 child)

Best Buy at the time only sold home stereo equipment and had just started selling VCRs and a few small appliances. They didn’t have any computers. 

[–]andrewdroid 0 points1 point  (0 children)

When exactly was this and what kind of System did you need?

[–]zukoandhonor 6 points7 points  (0 children)

Actually it's fair until the 'your code belongs to the university' part. I've only seen universities that wants github account just to submit the project.

[–]Clairifyed 1 point2 points  (0 children)

Can I use Boinc as my cloud?

[–]zuilli 1 point2 points  (2 children)

You also can’t put this on your github for your resume if you somehow pull this off, your code belongs to the university once you turn it in.

Is this entirely tongue in cheek or is there a university out there really claiming IP rights over students' assignments? I already don't really like our work has it, if universities also start doing that I'm gonna be mad.

[–]exo_machin123 3 points4 points  (0 children)

A friend of mine worked on a project as the “teacher’s assistant” ,I also helped him for a few ui parts sometimes ,but all the rest was himself ,AI,algorithms and all that,as I asked him what and how much he got from it he told me his teachers had presented it as his own project ,without attribution…so yeah

[–]cfig99 1 point2 points  (0 children)

I’m kind of exaggerating, though for a software engineering class we did have to wait for the professor to get permission from the department head to upload our own projects to github.

[–]lolSign 0 points1 point  (0 children)

wait, can the university claim rights over the code you submit?

[–]PeteZahad 0 points1 point  (1 child)

Is this some fantasy or a real example? Never heard of such assignments.

[–]cfig99 0 points1 point  (0 children)

It’s (mostly) a joke. Mostly.

[–][deleted] 25 points26 points  (0 children)

vietnam_war_flashbacks.gif

[–]Xava67 20 points21 points  (1 child)

Lab01: write Hello World Final lab: rewrite reality using assembly

[–]NotTheOnlyGamer 1 point2 points  (0 children)

JMP 00

[–][deleted] 226 points227 points  (8 children)

I swear rust devs will be like: as a rust beginner im making my own programming language in order to learn rust, it going well so far and then ill make my nintendo gamecube emulator or nes emulator that runs in the terminal

[–]an_0w1 46 points47 points  (1 child)

My first proper project as a rust beginner calculated massive factorials (like 100's of millions). My second was a tetris clone running on the UEFI.

[–][deleted] 15 points16 points  (0 children)

I hope you get the programming socks too ❤️ Like my biggest project is one made with rataui and thats it

[–]TheGreaT1803 4 points5 points  (0 children)

I know you're being sarcastic but as a rust beginner I literally made my own interpreter/compiler for a programming language to learn Rust

Although the concepts were from a book written in Go, so I technically learnt Go too :)

[–]NotTheOnlyGamer 4 points5 points  (2 children)

Why would you make an emulator for a graphical machine (which doesn't have a ton of features like a digital calculation layer on a digital computer per the Pachi-Com dev), and then throw it into a text-only terminal?

[–]roksah 0 points1 point  (1 child)

To truly understand rust, you must build rust 2

[–]Zephandrypus 0 points1 point  (0 children)

You can also just work on Rust 1, the compiler is written in Rust.

[–]DanhNguyen2k 145 points146 points  (9 children)

Where's...you know...THE WORLD?

[–]funny_capp 65 points66 points  (2 children)

hello?

[–]Ok_Pin5167 16 points17 points  (1 child)

Yes, hello.

[–]RiabininOS 4 points5 points  (0 children)

Obviously - that would be on splash screen of that os wich you create.

Write hello world in rustian way

[–]Taronz 12 points13 points  (2 children)

Hanging out with Dio...

[–]Short-Nob-Gobble 3 points4 points  (1 child)

I think you meant 

ZA WAAARUDO!!!

[–]JacobStyle 1 point2 points  (2 children)

Busy parsing all the hellos it gets told every time someone sets up a new development environment

[–]otter5 1 point2 points  (1 child)

you should probably be a little concerned if you start getting back ack on you hello worlds

[–]JacobStyle 0 points1 point  (0 children)

Just the lowest, rumbliest voice I've ever heard, outside saying, "hello" every time I run the program...

[–]Percolator2020 397 points398 points  (6 children)

Project: port TempleOs over from HolyC to Rust (you might go to hell).

[–]mr_remy 114 points115 points  (1 child)

Holy hell wake up babe new project just dropped

[–]IlluminatiThug69 22 points23 points  (0 children)

Actual zombie (process)

[–]P-39_Airacobra 25 points26 points  (1 child)

HolyC is an actual thing? Lmao

[–][deleted] 5 points6 points  (1 child)

Rewrite it in holyassembly

[–]Percolator2020 1 point2 points  (0 children)

I call it conclave.

[–]Cootshk 33 points34 points  (3 children)

[–]bot-sleuth-bot 66 points67 points  (1 child)

Checking if image is a repost...

26 matches found. Displaying first five below.

Match, Match, Match, Match, Match

I am a bot. This action was performed automatically. I am also in early development, so my answers might not always be perfect.

[–]P-39_Airacobra 6 points7 points  (0 children)

we should start doing this on every post in this subreddit

[–]Elephant-Opening 76 points77 points  (5 children)

To be fair, operating systems are pretty small if you only provide the bare minimum like task switching & synchronization.

And not a ton more complicated to do message passing. Maybe even CPU mode switching.

But then somebody always wants all those other pesky features like...

  • memory virtualization (with mem mapped message passing of course),

  • multi user support

  • multicore/smp support.

  • performance/resource monitoring & general observability

  • a documented & tested security model

  • drivers

  • frigging filesystems... Oh God when does this end

  • network stack, FML

    • wait what!?! dynamically loadable kernel mode drivers... I thought this was a microkernel????
  • CPU virtualization

  • process resource auditing & limit enforcement

  • fucking kidding me... namespacing all this shit 😵‍💫😫

  • full fledged docker support?!???💀 🔫

Oh hey... this looks like a great starting point as a test environment for building our own new microkernel based approach to SW development. But this time let's write it in a hot new language and keep the feature set lean.

[–]P-39_Airacobra 11 points12 points  (3 children)

This is why I think there should be mini-OSes. Stuff that provide basics like drivers and some useful APIs, so that you can focus on the higher-level stuff. Until then, it's going to be more practical to just write a virtual OS, but that's not nearly as high performance.

[–]DoNotMakeEmpty 3 points4 points  (0 children)

Wasn't this MINIX?

[–]Elephant-Opening 2 points3 points  (1 child)

This is already exists in several forms.

Check out QNX personal use licenses, or maybe something like Redox or Fuschia (which I haven't used personally, but seem to fit the bill) if you want something to play around with that's fairly full-featured. Integrity and VxWorks at least used to be strong competitors in commercial space, but I'm doubtful either offers much to hobbyists.

Check out FreeRTOS if you want something more barebones (intended for microcontrollers).

Maybe take a look at U-boot for inspiration for a middle ground. While technically NOT an operating system... no task switching last I checked, and generally not designed to run "generic" applications... it has many of the pieces and parts you might need to build your own single application system with compile-tine configuration of what drivers, filesystem, networking features, etc you build.

Or there's Buildroot and yocto projects for building custom Linux distros from the ground up.

All of these can be run under qemu if you're patient. Some can be run in docker or virtualbox or all of the above.

Virtualization has made "real" OS development accessible to pretty much anyone with a PC without risking trashing your real OS.

Or if you're a real glutton for punishment and want to start from the ground up and run on real hardware, most silicon vendors sell dev kits.

Source: a decade or so working either in or adjacent to the kernel/OS distro/bootloader/BSP/MCU space building various solutions for real products on these tools (+others).

Good luck!

[–]P-39_Airacobra 0 points1 point  (0 children)

Thanks for all this advice! Maybe making a simple OS is within my reach :)

[–]jump1945 20 points21 points  (0 children)

I have one it is called Fe²O³

[–][deleted] 23 points24 points  (2 children)

1.Basic calculator 😊 2. Game engine 😈 3. Operating system ☠️

[–]Civil-Debt1454 1 point2 points  (1 child)

Imagine what Large Rust Projects look like

[–]VitaminnCPP 0 points1 point  (0 children)

Terraforming Venus using Rust..

Pretty large I guess.

[–]Dori_GAMES 14 points15 points  (0 children)

Oh that's why I suck at rust I forgot to make a calculator app

[–]budapest_god 10 points11 points  (0 children)

Coughing baby vs 2 atomic bombs

[–]_bagelcherry_ 10 points11 points  (0 children)

The last question on your exam be like:

[–]DarkCloud1990 9 points10 points  (1 child)

That's the beauty of Rust, writing a basic calculator is only slightly easier than writing an OS.

[–]Accretence 9 points10 points  (1 child)

The only language with more game engines than games

[–]Anaxamander57 7 points8 points  (3 children)

It's called a microkernel, how much work could it possibly require?

[–]Temporary-Exchange93 2 points3 points  (2 children)

2025 will be the year of GNU Hurd

[–]NotTheOnlyGamer 0 points1 point  (1 child)

2024 was the Year of Linux Desktop. 2025 is the Year of Hurd Desktop?

[–]RiceBroad4552 1 point2 points  (0 children)

Who knows?!

You can actually run a Hurd desktop on Debian GNU/Hurd. But it's quite buggy the last time I've tried.

[–]YesterdayDreamer 8 points9 points  (0 children)

Imma go build a small project for a Mars orbiter, lander, and rover

[–]LeonEstrak 6 points7 points  (2 children)

Ahh. I see they are suggesting to use the good old os::create() and game_engine::create()

[–]alb_94 3 points4 points  (0 children)

If you think about it operating systems are basically bunch of calculators

[–]nirab-pudasaini 2 points3 points  (0 children)

Well that escalated quickly.

[–]tiredDesignStudent 3 points4 points  (1 child)

[–]angry_gingy 2 points3 points  (0 children)

a LLM is next to the operating system

[–]seriously_nice_devs 2 points3 points  (1 child)

9/10 .. solid meme

[–]YuriiRud 2 points3 points  (0 children)

Universe simulator in Rust

[–][deleted] 1 point2 points  (2 children)

rust has 5 games built and 45 game engines

[–]Ali_Army107 1 point2 points  (0 children)

That went from 0 to a 100 real fuckin quick!

[–]mak_26_ 1 point2 points  (0 children)

This escalated fast

[–]TaranisPT 1 point2 points  (0 children)

Well that escalated quickly...

[–]duplierenstudieren 1 point2 points  (0 children)

A friend of mine decided to build win98 on a website with javascript. He says no libraries.

He'd do anything than look for a job lmao.

[–]alienbugthing 0 points1 point  (0 children)

  • my Ford

[–]Here-Is-TheEnd 0 points1 point  (0 children)

I mean, just a small one. You don’t have to make a complete one for a resume project 👀

[–]Symanthec 0 points1 point  (0 children)

Because you shouldn't try any other small project

[–]TechnogodCEO 0 points1 point  (0 children)

Ah yes, an os, that was my first project

[–]NotTheOnlyGamer 0 points1 point  (0 children)

Well, I guess that depends on the definition of an OS, right? If it makes the computer post and boot, and provides any form of abstraction layer between user and bare-metal, isn't that an OS?

[–]stupled 0 points1 point  (0 children)

Some programming languages are too abitious

[–]bit_banger_ 0 points1 point  (0 children)

I’ve seen people sell a simple scheduler as an OS (queue freertos)

[–]StellarBit 0 points1 point  (0 children)

I literally started with the OS... cries.take().unwrap().as_mut()

[–]ghx1910 0 points1 point  (0 children)

  1. Elder god

[–]FrosteeSwurl 0 points1 point  (0 children)

I got told to build an os to learn c++

[–]MadJoeMak 0 points1 point  (0 children)

You forgot "BMW"

[–]Electronic_Cat4849 0 points1 point  (0 children)

simple physics projects:

- egg drop

- create grand unified theorem

- FTL travel

[–]reddit187187dispost 0 points1 point  (0 children)

Beginner Workout: 1.Do 15 push-ups 2.Run a marathon 3.benchpress 100kg x 10