ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
My 2 friends and I are preparing our senior project idea for next year. I need some of different ideas while deciding the base environment of the project, especially from software developers/engineers who worked in huge software product developments.
We have limited man power (just us, 3 students), limited time and very limited fund.
The project aims to office environments like Outlook, Thunderbird.
It will run on the desktop, not web
GUI will be really rich with customized widgets/dialogs which could be thought as Thunderbird with many extensions built-in like calendar, notes etc.
We want to start selling it and opening maybe a small company. So it is not just a senior project for us and we take it serious.
Even if we can't open a company, we want this project to be a good reference at our CV, especially for when searching jobs in USA.
Speed of the software is of course important, but realiability (crushes in a commercial software product is not acceptable for customers right?) and bringing the project to a usable state as fast as posible are more important.
It will be like MS Outlook, with many features in the single client. (More than Outlook actually if we count.)
Also we want this project to carry our practical skills to a better place
We use C++ and Java really good, but we never worked within a large project like this so we can't see how the environment effects our needs in the long term
We have two environments to choose and we can really use those environments, Java (Swing) and C++ (Qt) good, but because of the factors I described above, we should decide which one is better. What would be your advise for a project with those criterias?
---------- Our fears for Java: Slowing the software because it is really a big project. Especially we are afraid of the GUI's speed.
Our fears for C++: Developing time consuming, definitely more bugs will occur, more time or money to develop and maintain *(harder to find good C++ developers than Java developers right?)*, making that much customized GUI with Qt might really hard, libraries won't be reusable for a mobile web interface (at least easily)
PS: It is not an email client. It will be used in office environments like Thunderbird, but not a email client. But Thunderbird is a good picture to represent it.
PS2: It's really a large project which can include many ideas, but of course we will not implement all. We made a priority list. But who knows, maybe it finds a place in the market itself and we could implement other features working with more people. Yes, I know chances are thin, but worth a try.
Last edited by Seregwethrin; 03-29-2011 at 03:30 PM.
Personally, I would say java - I don't think speed is too much of an issue (I mean, LibreOffice is written in java). I find it far more intuitive to organise code into packages in java, and Swing is nice to use (although limitedly, so is Qt)
I recommend .NET 4.0. With WPF for the GUI and WCF for the communications.
This is clearly a Windows-only project, and .NET (and C#) is the correct platform for that.
If you do want it to be cross-platform then, yeah, Java.
Also, this is a business app that will spend almost 100% of its time waiting for user input. Don't worry about speed until it actually becomes a problem.
I wish C# and .NET wouldn't be so Windows-based but I want it to be cross-platform. Especially think that there are many people, mostly managers that are using Mac.
But you're really right about the app will spend all of time waiting for user. It won't make any rendering or something like that. That's a good point, thanks.
@Snark1994
Exactly I thought about LibreOffice but it has C++ codes itself too. That may help speed. It doesn't use Swing, SWT or AWT as well, here says it uses native gui api for all platforms.
And by the way, do you think that making a good project with C++ is more helpful for than making with Java for finding a job at the big software companies at USA like Google? (Because as far as I know big software companies use mostly C++ rather than C# or Java.)
Last edited by Seregwethrin; 03-29-2011 at 03:36 PM.
Because as far as I know big software companies use mostly C++ rather than C# or Java.
You really should master both. But consider the following:
As a new graduate, you are much more likely to get a job in a small company than in a big one.
a huge part of the reason "big companies" use C++ is because they're maintaining products that were written before managed or garbage-collected platforms became feasible.
Quite a bit of Windows 7's applications have been rewritten in .NET, including Visual Studio and Live Messenger
Google uses as much Python and Java as it does C++
Most of the largest enterprise applications (the ones commissioned to use inside a company) are written in Java
Your edited message really cleared my head. I was just searching for the PM link to send you a message (which does not exist ) to ask the question "when I came to USA, for example as you said master, where should I aim, to small or medium companies or software giants?"
Wow, I can't access my PM page. It seems that I need to be a contributing member to send pms. I never noticed that before. May be I was able to send pms before.
Thanks for your messages. It was really nice to view your ideas.
Last edited by Seregwethrin; 03-29-2011 at 04:27 PM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.