Help me pick a language for my idea! Not really content with the ones I know already
3 02 Jun 2015 07:59 by u/zonk
Alright, I first wanna list shortly what I 'know' so far:
-
The language I used most so far is probably Java, because my university profs were all circlejerky about it. We had some bigger projects in university where everyone was part of, as in for example a graphical 3D chess game with networking functionality and 1-2 other things like that. I had programming courses for 4 semester in Java and later on we also added Spring and JSF. Somehow it doesn't click for me with Java, I don't really like it, but maybe I'm just weird
-
The language I'm probably second confident in, is PHP with HTML/CSS. But this one is on the other hand also kind of limited, especially for the idea I have in mind. We had one course in university and one project, where we had to program a fancy quiz game in groups of 3 people. In private I built a website you could place bets for e-sports just for fun. If I had to pick one language I know which I liked most so far, it would be PHP, but that's sadly not helping in this case.
-
I got basic knowledge of C# and Python, for both from edx courses and a little private coding if I needed something in private. I didn't really coded anything big with either of those.
-
A couple of other things here and there like SQL for example, but nothing noteworthy
Somehow, I also dislike frameworks, but I don't think in today's programming environment that's really a smart approach, since so much relies on them, I think.
To my idea:
-
Couple of my buddies work as freelancers, and they manage their timesheets and invoices for their customers in Excel
-
I'd like to write a little program, where you can manage your customers and scroll through the monthly overviews. In those, you can enter your days and the time and a little text field for the description (I think you get the point)
-
The program should have an Export to PDF button, which uses a template to create a nice-looking invoice as a PDF, which they can simply print to give to their customers with the monthly overview, the customer and their own data in form of a letter kind of
-
The next step would be to put the database from local to a server and have the alternative to remote manage the data from the app (preparation for the next step)
-
Next, since freelancers travel a lot, I want them to be able to manage this stuff remote via their phones. Possibilities here could be either a website with a login or an app for Android smartphones. Haven't really thought about or made a decision yet, although I could imagine that an App would be less clumsy to work with
-
I want to use git this time, since I haven't used git for any project so far :)
I thought about picking up node.js for that, because it seems so versatile and powerful and I think I could use it for all of my ideas. An application with PHP basically rules out PHP for my idea. Java would be good, too, but I don't know, it didn't click for me so I don't want to use it. C# might be the best way for me, but I wasn't too blown away by it either after the edx course.
Are there any recommendations you guys have? Anything that might be suited better than node.js or would also work? If I could do application, website and app with one language, that would be great. Or should I force myself to use C# even though I thought it was kinda meh?
Thanks for reading and your help!
9 comments
1 u/jimmyrussel 02 Jun 2015 18:40
You mention excel, and as much as I hate the language VB kind of runs the show there. It would be something that would be easy for your excel guys to use once you make it.
1 u/zonk [OP] 02 Jun 2015 19:53
Well, it's not really something I wanna use, I have to code it at work already :P I'd rather do something with a proper application and a database instead of VBA. Not necessarily for usage purposes, but also for me to learn stuff :) Thanks for the suggestion though!
0 u/VoatSimulator 02 Jun 2015 21:02
I would suggest learning Java/Android if your end-users are mainly going to be using their phones to enter the data. Using a website is possible but can get very slow on a mobile browser if you're doing anything complicated. I believe there are Javascript frameworks for app development if you don't want to use Java (although I've never used them and wouldn't want to)
0 u/zonk [OP] 02 Jun 2015 21:07
Yeah, that's kind of my current approach. I wanted preferably the same language for tool and app, but I think that's only possible with Java and that's not really something I'd like to do, since I don't like Java that much. So for now, I split the languages used to create the tool, and will probably go ahead with C#. Doing a GUI with python can be a pain and I don't know if that's all, but that pretty much exhausts all option already.
Once that's done and I'm still motivated to work on that, I will see what solution/language/framework I will use to create an app. Either with Java or JS with a framework.
If you have any other recommendations or ideas, let me know! :)
0 u/itturnsout 03 Jun 2015 16:53
I know this is not answering your question, but Google Drive already does for me most of what your app would do. I haven't attempted some of the more advanced features that you are aiming for, so it is possible that those can be worked in as well. Also, I despise Excel, and I can't be alone there. Not to say that you shouldn't write the app, just that you may want to think about this alternative work flow, at least as a source of ideas.
1 u/zonk [OP] 03 Jun 2015 17:29
Yeah, I know much of it could probably be done with little effort on Google Drive, but I wanna practice coding a bit and I will also integrate features to manage the contacts of all their clients n stuff :) It will have a little bit more management stuff, some stuff that does the math automatically and checks if stuff was entered correctly.. it'll be a bit more cleaner.
But thanks for the input!
0 u/luddite 03 Jun 2015 22:47
You can use pretty much any language to do what you like, it's just a matter of efficiency in dev time and comfort with it. IMHO, if you like PHP, use it. If you run into something it doesn't do for you, write the functionality yourself. You can mix CGI type binaries with PHP if you have to, but i'd be surprised if you can't implement it all in PHP.
Also: write some VBA modules to front-end your app in the user's spreadsheets, so they can enter data and look at updates from web OR spreadsheet. My experience with excel junkies is they never totally let go...
0 u/allcaps 05 Jun 2015 03:38
This would be easiest in either a .Net language (C# probably the easiest), considering you'll want to do a UI. C# and WinForms are easy to get up and running, and you can make mobile UIs easily using whatever .Net web stack you fancy. I'm not sure if there's any native Excel sheet functionality, I don't think so, but surely there'll be a nice library for it handy.
0 u/zonk [OP] 05 Jun 2015 11:51
Hey, thanks for your input!
I'll probably go with C# and WPF, even though Python and Qt seems very tempting right now.. getting the dust off of knowledge and read/watched a lot of stuff about MVC, MVP annd MVVM. Not totally getting it yet, but I'll continue to watch some C# basics, and then something about data bindings, which probably helps me unterstand the MVVM stuff :)
There doesn't need to be anything with Excel left, I want them to get rid of the Sheets completely! And have like a little calendar & contact manager in the app