Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person’s post makes sense in another community cross post into it.
Hope you enjoy the instance!
Follow the wormhole through a path of communities !webdev@programming.dev
Get started, make mistakes so you can learn. The best stack is the one you use to build things with. If you want to learn a new tool, use it. Otherwise, use what you’re familiar with.
In my opinion, you should try a bunch of programming language and frameworks so you can judge yourself which one you really like. Building a bunch of small side projects to get a feel of those languages and frameworks is better than building one big project at this learning stage. After you have settled with one or two programming languages and frameworks you like, then you can proceed with complex side projects to gain deeper experience with the language and framework of your choosing.
My preferred stack to give you some inspiration:
The framework, frankly, doesn’t matter. Use what you can find good help documents for and examples. Statistically, that’ll be Python or JavaScript. But use what works for you.
The big challenge you’re going to run into is that I’m not going to create yet another login account to use your site, and no one else is either. To solve that, you’ll need activity pub.
So while you’re picking tools, frameworks and libraries, use whatever is working for you, but do a quick check that it supports or can be made to support ActivityPub.
Edit: This post brought to your server by - you guessed it - ActivityPub. ActivityPub: Like it or love it, you’re hearing about it through ActivityPub.
Sign in with Google/Facebook/etc. bypasses the problem that ActivityPub isn’t all that popular (this may change with Threads but it’s unclear how that will play out). But I also think you’re overstating the hesitation most people have in creating an account for a service. Also, being a hobby project, it doesn’t necessarily need to be or desired to be popular right away. It doesn’t need to have all the features right away. It doesn’t have to be built in one try or architected perfectly.
Those are also good options. It used to be that only the Twitter SSO wasn’t a huge pain in the ass. I suspect that went away during Twitter’s “why do we have all these microservices?” era.
I’m really not. The majority of new account creation results in massive amounts of spam.
I had to add SSO auth to my hobby project before I got my first user, and I got my first user shortly after.
Agreed for most hobby projects. But this one appears, to my read, to be banking on user participation.
I recommend Ruby on Rails. I am biased with 17 years of professional experience, but it has batteries included, end to end everything you need to build, test and deploy a modern web application. In my opinion Ruby is the most pleasant language to read and write. But try to compare many stacks and see what you like best.
No language / framework is going to give you a massive advantage here.
Either stick to what you know best or try out some different ones and see what you like.
My personal favourite is aspnetcore and c#. It provides pretty much everything you need out of the box and has a very large ecosystem for connecting with external services.
There are two schools:
Remember that Google was written in Python and Java. Facebook in PHP. iOS in Objective-C. GitHub in Ruby on Rails.
Appreciate you pointing out those examples - while one could argue errors in judgement, going with what one knows allows for getting stuff done NOW.
Have to say, FB and G examples resonate most with me because while Java is hardly “rapid,” given a well-defined objective I can bang out PHP or Python to accomplish it quickly, and then iterate efficiently.
That was doable long before the idea of iterating quickly / failing big / etc entered the public consciousness. Just not in Java…
I think you’re biased against Java. Amazon was started in C/C++ and Java J2EE during times when to configure a webserver required writing like 300 lines of XML just to handle cookies, browser cache and a login page. Until recently BMW had their own JRE implementation. It’s not a secret that simcards, including these in Tesla cars run JavaCard too, even government issues sim cards in EU have to run Java Card, not C++. Everything was always fine with Java until ECMA Script appeared and made people iterate on software versions faster. New programming languages and team organisation methodologies left some programming languages in the dark, but this included C# too. All are quickly catching up. If Java was so bad, it wouldn’t be here with us today, like Perl.
php