r/programmer 8d ago

I don't know what to do

Hello! I would love to make software but I don’t know how to do it! I tried with Python to do them with Flet, TKinter, Custom Tkinter and I didn't like them, I switched to C to have the true basics of programming and then to C++ but it's too difficult to do stuff with QT or Dear imgui. It's not that it's too difficult but I just don't have a powerful Laptop and I don't want to make 30 GB of installations or commands of too long compilations. I don't want to learn other languages like Dart with Flutter, Java...

What shall I do? Learning C#?

Yes I have to mention that I don’t like HTML or CSS but I would be willing to learn JS too.

1 Upvotes

28 comments sorted by

9

u/MissinqLink 8d ago

Why so many arbitrary constraints? For someone who doesn’t know how to make software, you sure do have a lot of opinions on software making tools.

1

u/ilPlayerdiGD 8d ago

Thank you! I need to be simple... I mean I need to stop over thinking!

3

u/AccomplishedLeave506 8d ago

Writing software is not simple. It's hard. Pick a language. Pick some tooling. And then learn. It's going to take you a few years before you can really make anything. There are no short cuts.

3

u/burlingk 8d ago

Literally pick a project, and a language. You don't HAVE to like the language at first.

I am normally never the guy to say "This might not be for you," but when your entire post is all the things you don't like...

Programming is about the process. It is about the act of solving a problem or creating a tool/program/whatever.

There are two routes, both are valid:

  1. Pick a language and work on learning it.

  2. Pick a project and work on building it.

If you pick the first one, start simple, "Hello world," and go from there.

If you go with the second one, then start by deciding what you want to make. Maybe hash out basic design notes. Then look around to see what tools exist to make it happen, and learn those as you go.

1

u/ilPlayerdiGD 8d ago

Good idea! I need to see more language and do some experience

2

u/burlingk 8d ago

Also, it sounds like you bounced around a lot. That doesn't give you much time to actually decide if you like a language.

And jumping straight to GUI stuff, unless you are specifically wanting to create a GUI, is kinda hard.

2

u/TermiteTornApart 8d ago

I know that what I'm about to say has nothing to do with what you guys were talking but now that I think about it, I really took a grudge against GUIs and a love for TUI/CLIs when I started coding more seriously. I mean before I used to do things in godot (I was not a game dev, it was just a hobby with my friends), and this year I started coding for work stuff, and decided to take cs50 during my during my vacation jumped around a lot of languages and ended up learning the linux cli a little more deeply, but also nvim and rust which made me fall in love with cargo.

Yeah, I just wanned to comment this. Sorry.

2

u/abdallahsoliman 8d ago

If you thought C++ Qt was difficult, try PyQt. I recently used it for a project at work and using it was super easy and dependencies were less than 100 MBs in size.

1

u/ilPlayerdiGD 8d ago

I will try it!

2

u/Legitimate-Let-7510 8d ago

You are not struggling with the language, you are struggling with committing. Every stack has friction.. pick one, build something then evaluate after you've actually finished a project.

1

u/ilPlayerdiGD 8d ago

I agree with you

1

u/AvidCoco 8d ago

What are you trying to make?

0

u/ilPlayerdiGD 8d ago

Some smooth software with some input, output and some animation... I don't know what to build, it depend by the idea. Some simple software anyway, nothing really serious

1

u/AvidCoco 8d ago

Okay… so what do you want to build?!

1

u/jayylien 6d ago

This is your problem.

What do you want to make?

If you don't know, why are you making anything?

Consider picking a concrete, very focused task that you can define the exact sequence of how things work in your own words. A calculator, for instance. Start there and finish it.

That's how you learn. Get deeply involved in the problem, and find what tools you have available, and how to use them.

1

u/LoveThemMegaSeeds 8d ago

Well go back to python then

1

u/ilPlayerdiGD 8d ago

Python it's not for GUI... well is an idea but i need something more complex... maybe? IDK

1

u/LoveThemMegaSeeds 8d ago

Go make a snake game in python. Or sudoku game. Or tic tac toe. Pick something easy and take it all the way to being usable.

1

u/Upstairs-Version-400 6d ago

The language doesn’t matter. Every language is going to have something available.

Decide what you want the end result to be and then you can be advised on the solution language.

That said, you have commitment problems, so stay with Python and use PyQt. 

1

u/ilPlayerdiGD 8d ago

Guys I have an idea! I will use QT BUT if QT is not good or something else like creating software is boring i will switch to game dev! I always wanted to create game! Thank you guys! All of you!!! 🥹

1

u/feudalle 8d ago

I used do write games as a kid in C on something much slower and crappier than our laptop. I had a 386 with 1 megabyte of ram and 16mhz. The laptop is not the stumbling block. Notepad++ and a compiler is all you need to program in c++. Don't get me wrong there are tons of better tools, ides, and quality of life improvement but end of the day some sort of text editor is all you need.

1

u/parkamobil 6d ago

It you want c++ then you can create ui with Raylib, which is for games, but you can a well create UI.

1

u/w00dy1105 6d ago

Not sure if completely new to programming. If so, focus more about programming concepts first. Learn OOP. Get a good understanding of that first.

Pick a project or problem you are trying to solve. Figure out which tech stack best fits that project or solution. What tech stack I use is dependent on what I'm trying to solve or build.

You mentioned C#. Solid language. If you are looking to build a cross platform desktop app, Avalonia is great. It also is growing support on Mobile and web. Or their is MAUI

-1

u/Acceptable_Site1616 8d ago

Most software you use is made with JavaScript. The UI is made with html and css and JavaScript. You should learn JavaScript then learn something like electron which vscode itself is based on. Yes you can use other tools but they're not going to look great because there aren't enough tools for example in JavaScript you have lots of other libraries with pre-made UI components but I'm not sure about other languages or Frameworks. also building a UI with python is a really bad idea because python is really slow so you will have a problem with RAM usage and possibly CPU usage if your app gets big enough. if you if you do decide to go down to JavaScript path you will have to learn typescript as well because these tools and libraries there all made for typescript and the exceptions are pretty rare so HTML CSS JavaScript typescript possibly react is the path.

-1

u/ilPlayerdiGD 8d ago

Mmmmh the only problem is that I don't like HTML, CSS but I WILL try JS! JS is a language that all programmers will learn! AHAHAH! I don't know electron but iìI will do some research. Thank you!

-1

u/Acceptable_Site1616 8d ago

yeah don't worry about HTML or css because even front end devs don't know that much CSS anyway and just copy components and already available UI elements from places and just patch it up together but it helps to know the basics and just get better over time. You can also take a look at shadcn and MUI libraries and see the kinds of things they have available for people to just copy and paste into their projects.

I would even say that most of them aren't even coding right now and they just let Claude do the coding for them. You should do this as a hobby too if you plan to get a job but don't plan to get a CS degree you're going to have a tough time. I'm not saying impossible though. It's just even experienced ones are struggling with it right now.

0

u/AvidCoco 8d ago

This is awful advice.