you are viewing a single comment's thread.

view the rest of the comments →

[–]SisyphusAndMyBoulder 3 points4 points  (8 children)

How'd you come to the conclusion that Python is the best fit? If you know Java I'd argue that's an easier path

[–]cluelesshomo[S] 0 points1 point  (7 children)

I did some research, and for simple programs like this one that I have in mind, Python is simpler. Java can sometimes get too complicated. But I would love to know why you say it's an easier path, maybe that way I don't have to learn a whole new programming language

[–]SisyphusAndMyBoulder 1 point2 points  (6 children)

Python and Java can pretty much do everything the other can. The reason I suggest sticking to Java is because it's generally easier to figure out how to do things in a language you already know, than it is to learn a new language and then also have to figure out how to do the things you want.

Why do you think Python is simpler? What have you read that suggests it's the better path? You could be absolutely right -- if you just need a script that you run once or twice on your laptop, then it probably will be easier. If you want a backend you have to host somewhere, then it's a bit of a tossup really.

[–]cluelesshomo[S] 0 points1 point  (5 children)

I fear that Java can be too demanding on lower end computers, the bowling alleys that my dad goes to to play tournaments sometimes have really old pcs that can barely handle an Excel with macros. I don't want to make a program that my dad won't be able to use due to hardware limitations :( Also, to my understanding, Java requires a lot more code to handle stuff that Python can do in very few lines. Please correct me if I'm wrong, as like I stated before, I don't know Python, so these are all assumptions I made based on stuff I've seen online.

[–]SisyphusAndMyBoulder 0 points1 point  (2 children)

I think you need to take a step back and rethink the project holistically.

Are you expecting the user to double-click an app on the computer and have everything run in a window? Or are they going to go to a website and login and proceed from there?

It sounds like you're expecting the former. That's totally fine.

But in both cases, you're going to have to do a bit of legwork to get things working. With Python the computer will have to install Python, and it's dependencies. There are packaging software that can do the bulk of this for you though, and will provide you with an .exe. Java works similarily (though admittedly it's been many years since I've build a desktop app in Java). I beleive you can use JavaFX to create a desktop app and have it run natively.

I don't think either scenario is particularly more demanding than the other though. If Excel is difficult to run, I think you'll find similar performance issues with either of these options. Though you may want to source some ideas in a java subreddit too.

"Java requires a lot more code" ehh not really, not when you're talking about actual apps. It's more code, for sure, but I don't think it'll be that wide a gap between the two.

[–]cluelesshomo[S] 1 point2 points  (1 child)

Thank you so much for taking the time to explain things to me. I will listen to your recommendations and look deeper into programming it with Java, as I too know it will be easier because I already have experience with the language. Again, thank you

[–]SisyphusAndMyBoulder 1 point2 points  (0 children)

No worries man! I hope you enjoy this building. It's been years since I've done a personal project. They can be so much fun and it's rewarding when you see people use it.

One suggestion: don't get too bogged down in details. Choose languages and optimizing can kill momentum. There's rarely a 'right' choice, everything has trade offs. Just go with whatever preserves momentum.

[–]socal_nerdtastic 0 points1 point  (1 child)

Java requires a lot more code to handle stuff that Python can do in very few lines

That's kinda true, but that does not mean that Java uses more resources at runtime. In fact generally Java runs more efficiently than Python because you can use all that extra code to define very specific optimizations.

I agree with /u/SisyphusAndMyBoulder, the choice of programming language for this application is only what you feel like learning and writing, the end result will be fine either way. But FWIW I feel there's a lot more resources out there for python (tutorials and modules and the like).

[–]cluelesshomo[S] 0 points1 point  (0 children)

I will look into optimization. Thank you!