Java Forum / General / January 2007
java or C++ ??
patrick - 27 Jan 2007 12:38 GMT Ive got an idea that Im going to develop into an application. this will be a GUI type application which will be given away freely to users to install on their PCs. The application interacts with other users on the internet via SSL.
The problem with java is still the 16MB ish download time. I only know java myself but intend to get somebody else to develop it in C++ rather than have a big download.
Should I use C++ or java ?
patrick
Andrew Thompson - 27 Jan 2007 14:12 GMT ..
> The problem with java is still the 16MB ish download time. Most people nowadays have the Java Plug-In already, so it will only be a few that would need to download it.
>..I only know java > myself but intend to get somebody else to develop it in C++ rather than have > a big download. > > Should I use C++ or java ? If you want to support PC's running OS's, I'd stick with Java Swing, deployed using web-start.
If you only need to support Windows based PC's, .NET would probably get the job done quite efficiently, and hook easily into the Windows GUI toolkit (I guess).
Why would you want to use C++? (Are there good, free C++ GUI toolkits available?)
Andrew T.
sriram1201@gmail.com - 27 Jan 2007 14:15 GMT > .. > [quoted text clipped - 20 lines] > > Andrew T. Java J2ee Interview Questions http://javaj2ee-interview-questions.blogspot.com/
Lew - 27 Jan 2007 15:38 GMT "patrick" wrote:
>>> Should I use C++ or java ?
> Java J2ee Interview Questions > http://javaj2ee-interview-questions.blogspot.com/ How would that sloppy, ungrammatical and incomplete presentation in any way help with the OP's question?
Quite aside from its manifest flaws as a source of Java knowledge, it has nothing about comparisons to C++, or even C#.
- Lew
Alex Hunsley - 28 Jan 2007 22:09 GMT >> .. >> [quoted text clipped - 22 lines] > Java J2ee Interview Questions > http://javaj2ee-interview-questions.blogspot.com/ Stop your incontinent, out of context, and unwelcome babblings about your frankly rubbish site.
Arne Vajhøj - 27 Jan 2007 16:17 GMT > Ive got an idea that Im going to develop into an application. > this will be a GUI type application which will be given away freely to users [quoted text clipped - 6 lines] > > Should I use C++ or java ? Both GUI and SSL can be coded in far less lines of code in Java than in C++.
The Java version will be platform independent.
It would say Java is worth the download.
Arne
Luc The Perverse - 27 Jan 2007 19:49 GMT > Ive got an idea that Im going to develop into an application. > this will be a GUI type application which will be given away freely to [quoted text clipped - 6 lines] > > Should I use C++ or java ? If the only reason that you are considering C++ is because of the JRE (which people should have anyway) then the answer should be fairly clear: Use Java.
-- LTP
:) patrick - 27 Jan 2007 20:49 GMT People DONT have the jre. there are many people with only dial ups. broadband is not everywhere.And it is still slow on broadband. Big downloads are still a problem. I am inlined to think the critical thing here is download time if you want people to download and use the app. So C++ may be the best way to go. patrick
>> Ive got an idea that Im going to develop into an application. >> this will be a GUI type application which will be given away freely to [quoted text clipped - 15 lines] > > :) Karl Uppiano - 27 Jan 2007 21:38 GMT > People DONT have the jre. there are many people with only dial ups. > broadband is not everywhere.And it is still slow on broadband. [quoted text clipped - 3 lines] > So C++ may be the best way to go. > patrick All engineering is a trade-off. A slow initial download of the JRE (if they don't already have it) could be a problem. But not for the ones that do have it, though. Then you have the issue of platform independence. It is easier to get Java to run on a MAC, Windows, Linux, Solaris, HP-UX than it is with C++, especially if the app has a GUI. Native C++ will run a little bit faster on it's target platform than Java will, but most wild claims about poor Java performance are unsupportable.
Luc The Perverse - 27 Jan 2007 22:46 GMT > People DONT have the jre. there are many people with only dial ups. > broadband is not everywhere.And it is still slow on broadband. [quoted text clipped - 3 lines] > So C++ may be the best way to go. > patrick I'm not sure who your target audience is- but in general people who proactively seek out applications to download and install are the more tech savvy who will predominantly have installed the JRE and have higher speed connections.
You will not get out of problems with dependencies that easily either. How big is the .NET framework for instance? (A rhetorical question) I would say that people who do not have the JRE would likely not have the latest .NET framework either.
Assuming you are using a Microsoft compiler, you could elect to avoid using .NET or MFC altogether - but that is going to put you in a difficult position to write an application, since you will be reinventing the wheel - particularly for your SSL tunnels etc.
Or, my personal suggestion - you could do what everyone does, and use the easiest tools to develop with, particularly if you are already familiar with them and if someone can't use your product because they refuse to install the JRE (or .NET or whatever) then so be it.
If you do write it in C++ I suggest isolating your system independent application "intelligence" from your GUI and networking code - this way, if you later decide to port it to another platform your job will be greatly facilitated (you could even make a Java "face" for your application with C++ backend and minimize rewriting of code.) Not to mention this is generally a good idea anyway ;) -- LTP
:) patrick - 28 Jan 2007 10:10 GMT the target audience is the anybody who uses the internet. The tech savvy are about 1% of that. and 1% of those know or care what a jre is. patrick
>> People DONT have the jre. there are many people with only dial ups. >> broadband is not everywhere.And it is still slow on broadband. [quoted text clipped - 34 lines] > > :) Andrew Thompson - 28 Jan 2007 12:27 GMT > the target audience .. Likes reading responses posted back to front? Please refrain from top-posting. I find it most confusing.
>...is the anybody who uses the internet. > The tech savvy are about 1% of that. ..and the other 99% is clueless end users, 70% of whom have a modern JRE* - without either knowing or caring what it is.
* It came with the computer.
Andrew T.
Mark Thornton - 27 Jan 2007 22:36 GMT > The problem with java is still the 16MB ish download time. I only know java The online install is usually around 10MB. The 16MB figure is when you download the install file. This contains a copy of Microsoft's installation engine adding about 5MB on top of the real size of the Java install. The online install avoids this by checking to see if you already have the installer and if so skips downloading it.
Mark Thornton
patrick - 28 Jan 2007 10:01 GMT Well... what I meant was 16MB ish for the JRE plus your own application. Ive written such an application and its total download via install4j is 15MB with jre. Fairly sure this cannot be reduced further in any easy way. install4j is very good and im sure they would have considered all this carefully. patrick
>> The problem with java is still the 16MB ish download time. I only know >> java [quoted text clipped - 6 lines] > > Mark Thornton Randolf Richardson - 28 Jan 2007 07:25 GMT > Ive got an idea that Im going to develop into an application. > this will be a GUI type application which will be given away freely to [quoted text clipped - 6 lines] > > Should I use C++ or java ? You should use Java.
With C++ you'll probably need to get a third-party SSL library (OpenSSL will likely be it), while Java already includes this stuff with the regular download. In the end, it is far more likely that users have Java on their systems than third-party libraries such as OpenSSL.
With C++ you'll be dealing directly with the API for the target OS, and then you may need to update it for newer versions of that OS, not to mention writing different code to support each alternative OS. The end result will be a lot more code maintenance, which will increase time requirements, and probably lead to more debugging activity as well. Java, on the other hand, is OS independent which means you compile it once and it will run consistently across all platforms.
With C++ your GUI is typically tied to the OS, yet with Java the JFC (Java Foundation Classes), which are better known as Swing, provides an extensive feature-set that is always improving. For example, to create a System Tray icon in Java is extremely easy, and natively supported as of Java v1.6 (a.k.a., Java 6).
With C++ there is a need to understand pointers, and pointers to pointers, and possibly even pointers to pointers to pointers, ad infinitum. Java, on the other hand, addresses (pun not intended) this and other complicating aspects in its core design so that the developers don't have to be concerned about these things (and then there's Reflection for those who need to accomplish certain things that they might use pointers for in C/C++/Perl).
 Signature Randolf Richardson - kingpin+nntp@lumbercartel.ca The Lumber Cartel, local 42 (Canadian branch) http://www.lumbercartel.ca/
Luc The Perverse - 28 Jan 2007 19:43 GMT >> Should I use C++ or java ? > > You should use Java. I am getting the distinct feeling he already decided to use C++ before he came here. Everyone is telling him to use Java and he is arguing with us.
Makes me wonder why he asked to be begin with.
-- LTP
:) Andrew Thompson - 28 Jan 2007 20:17 GMT On Jan 29, 6:43 am, "Luc The Perverse" <sll_noSpamlicious_z_XX...@cc.usu.edu> wrote:
> >> Should I use C++ or java ? > > > You should use Java. ....
>..I am getting the distinct feeling he already decided to use C++ before he > came here. ... I had that sneaking suspicion when I read the first post, but I figured I'd give the OP the benefit of the doubt.
> Makes me wonder why he asked to be begin with. A good place to troll? <http://groups.google.com/groups? selm=1163985897.353793.93270@b28g2000cwb.googlegroups.com>
Andrew T.
patrick - 29 Jan 2007 08:56 GMT No. In it is very likely to be done in java considering all the comments and that nobody here favours C++ and that I already know java.But I am not sure that is a good idea still.
I was being a devils advocate for C++.I wanted to see what the issues are and how other people see them. But I would be worried that people in love with java might be biased in their views.
I asked the same question on a C++ group.
This most intersting comment there suggested I develop in C++ after a java prototype:. This is the quote: "But a large chunk of the dial-up user base just wont wait for the download to be over. Thats not something you should dismiss so easily.
Anyway, it seems you don't really have much of a choice. You only know Java so just go ahead and at least write prototype in that language. Hire another developer when the project takes off."
patrick
Andrew Thompson - 29 Jan 2007 09:21 GMT ..
> I asked the same question on a C++ group. Uh-huh. This one? <http://groups.google.com/group/comp.lang.c++/browse_frm/thread/ 8b4821a9a4a78bee/b417221e7cebc158#b417221e7cebc158>
I checked at the time of my first reply that this was not x-posted,or multi-posted, but apparently the C++ post was 'late in showing up' in the GG listing.
Perhaps a question of this nature would have been better *x-posted* to the *advocacy* groups of Java and C++.
Andrew T.
patrick - 29 Jan 2007 09:37 GMT Yes I posted on comp.lang.C++ 1/27/2007.
patrick
Chris Uppal - 29 Jan 2007 15:24 GMT > I checked at the time of my first reply that this > was not x-posted,or multi-posted, but apparently [quoted text clipped - 4 lines] > been better *x-posted* to the *advocacy* groups > of Java and C++. I think not. At least not unless you think the question is only fit for a advocacy grouo (I don't, myself).
This would be a reasonable example of a case where multi-posting is to be preferred over cross-posting -- because the overlap of the C++ and Java fanatics would almost certainly generate so much heat as to drown out the more interesting exchanges between the moderates in both camps.
Slogan: /anything/ is better than a flame-war -- even multi-posting.
BTW: one thing that nobody has mentioned here is that (assuming the C++ version was written and worked), there are delivery challenges for "native" programs too. Toolkits such as GTK+ and wxWidgets involve failrly large downloads (if you can find a binary download at all), and may have other dependencies which you wouldn't want an end-user to have to sort out. Of course, you could write to the OSs native libraries (presumably pre-installed for the most part), but that approach is not without its little problems too...
-- chris
Andrew Thompson - 30 Jan 2007 04:07 GMT > This would be a reasonable example of a case where multi-posting is to be > preferred over cross-posting -- because the overlap of the C++ and Java > fanatics would almost certainly generate so much heat as to drown out the more > interesting exchanges between the moderates in both camps. > > Slogan: /anything/ is better than a flame-war -- even multi-posting. I disagree with your conclusions (an occasional flame-war can be fun to watch, and I think it helps make clear* any 'seething hatreds' between group members - hatreds that affect their posts and replies on other threads, but they are usually too 'polite' to mention.)
Plus I detest multi-posting.
OTOH - thanks for your alternate perspective, it did somewhat surprise me that (any) people might prefer multi-posting to a (potential) flame-war.
Andrew T.
Luc The Perverse - 30 Jan 2007 06:33 GMT >> This would be a reasonable example of a case where multi-posting is to be >> preferred over cross-posting -- because the overlap of the C++ and Java [quoted text clipped - 17 lines] > might prefer multi-posting to a (potential) > flame-war. I regretted crossposting from this group to sci.crypt when a flame war erupted between Tom St Dennis and Roedy Green
-- LTP
:) Andrew Thompson - 30 Jan 2007 07:49 GMT On Jan 30, 5:33 pm, "Luc The Perverse" <sll_noSpamlicious_z_XX...@cc.usu.edu> wrote:
> "Andrew Thompson" <andrewtho...@gmail.com> wrote in message > [quoted text clipped - 7 lines] > > > I disagree with your conclusions ....
> > it did somewhat surprise me that (any) people > > might prefer multi-posting to a (potential) > > flame-war. > > I regretted crossposting from this group to sci.crypt when a flame war > erupted between Tom St Dennis and Roedy Green OK. Chris' advice, together with your own bad experience, suggests it might pay for me to reconsider my attitude to x-posting/ multi-posting in the circumstance that it crosses 'major hierarchies'* or could lead to a potential flame war**.
* The folks on the HTML hate people x-posting (for example) an JSP/HTML problem to c.l.j.p. & comp.infosystems.www.authoring.html(?) stating that x-posts should not be made across 'major hierarchies' of groups - I am not sure quite what part of the group name represents the 'major' hierarchy, though I usually consider the comp.lang.java.* groups as a single 'major hierarchy'.
** I recongise that while flame wars can be fun (for me at least) to watch, they can also become very boring, and wasteful of bandwidth***, if the participants degenerate into meaningless attacks on each other, rather than focusing on the technical points.
*** I also vaguely wonder if flame-wars turn out to be the 'last straw' for technically proficient people who get frustrated with the group, or usenet in general, and 'opt out'.
Andrew T.
Luc The Perverse - 30 Jan 2007 08:48 GMT **Massive Snip**
> *** I also vaguely wonder if flame-wars turn out > to be the 'last straw' for technically proficient > people who get frustrated with the group, or > usenet in general, and 'opt out'. I think you are taking this all way too seriously - Although you did make a very valid point. No multiposting between related groups (like two java groups). People who are going to get fed up with UseNet are going to get fed up and leave generally without regards to the actions of any particular individual.
Usually I will have one issue involving two groups - and I will make slightly different versions to ask each group - then it is not technically an identical post.
And yes, this is much more work than typing up a single message and sending it all over creation.
In this particular issue neither C++ fanboys nor those of JAVA would concede that there might be a valid point on the other side of the fence. From the point of a user it can be hard to differentiate fanboy rants from legitimate advice. (I still think Java was the right answer in this particular issue.)
The real problem comes in not know what question to ask, and the more open ended the question - the more likely it is to be ignored . . or cause irritation among regulars.
Usenet patrons generally enjoy advanced eclectic discussions - as those who don't understand them can be left out. Exceptionally trivial, beginners questions will get answered by someone, even if they too are generally a novice. It's the people in the middle that suffer - I recall several times asking questions, where the answer should have been obvious to a moderately skilled programmer - but I wasn't asking it in the right way (wrong semantics) and so my question was dismissed. It's no one's fault - and nothing has changed. The best way to learn about something, anything - is many hours of book work, private tutors, paid instructors who have incentive to try to decipher the gibberish of the uneducated pupil.
I must be tired . . . I don't even know what I'm blabbering about.
-- LTP
:) Randolf Richardson - 30 Jan 2007 11:31 GMT [sNip]
> The real problem comes in not know what question to ask, and the more > open ended the question - the more likely it is to be ignored . . or [quoted text clipped - 13 lines] > > I must be tired . . . I don't even know what I'm blabbering about. Please continue, it was very interesting!
 Signature Randolf Richardson - kingpin+nntp@lumbercartel.ca The Lumber Cartel, local 42 (Canadian branch) http://www.lumbercartel.ca/
Randolf Richardson - 29 Jan 2007 21:48 GMT > No. In it is very likely to be done in java considering all the comments > and that nobody here favours C++ and that I already know java.But I am [quoted text clipped - 5 lines] > > I asked the same question on a C++ group. Did they counter my points about third-party libraries, such as OpenSSL?
> This most intersting comment there suggested I develop in C++ after a > java prototype:. > This is the quote: > "But a large chunk of the dial-up user > base just wont wait for the download to be over. Thats not something > you should dismiss so easily. Did they explain why you shouldn't dismiss it so easily? If so, what was the reason they provided?
Also, does your target audience rely heavily on dial-up internet connections? If your audience is in North America, then you don't have very much to worry about since high-speed internet connections are so common-place that many users (based on my experience) don't even seem to know that non-high-speed options like dial-up even exist.
> Anyway, it seems you don't really have much of a choice. You only know > Java so just go ahead and at least write prototype in that language. > Hire another developer when the project takes off." You're making an assumption about people here, and that is not an objective way to look at things.
 Signature Randolf Richardson - kingpin+nntp@lumbercartel.ca The Lumber Cartel, local 42 (Canadian branch) http://www.lumbercartel.ca/
patrick - 30 Jan 2007 09:01 GMT > Did they counter my points about third-party libraries, such as OpenSSL? That was not posted there. My only comment on that is that openSSL is only a 3MB download I think so still small.
> Did they explain why you shouldn't dismiss it so easily? If so, what was > the reason they provided? No explanation given. presumably because getting downloads to dial up land is still important outside the US.
> Also, does your target audience rely heavily on dial-up internet > connections? If your audience is in North America, then you don't have > very much to worry about since high-speed internet connections are so > common-place that many users (based on my experience) don't even seem to > know that non-high-speed options like dial-up even exist. That is interesting. Certainly they would be a big target and if they all have broadband access I would tilt towards java.
OTOH 16MB is still a quite slow download on a 1MB broadband connection (common in Europe) and even on 3MB which I have myself it is a 7 minute download. that is still a big deterrent when there is competition with 1 or 2 minute downloads.
>> Anyway, it seems you don't really have much of a choice. You only know >> Java so just go ahead and at least write prototype in that language. >> Hire another developer when the project takes off."
>You're making an assumption about people here, and that is not an >objective way to look at things. I agree with you. that was somebody else's comment, not mine.
patrick
Randolf Richardson - 30 Jan 2007 11:21 GMT >> Did they counter my points about third-party libraries, such as OpenSSL? > > That was not posted there. My only comment on that is that openSSL is > only a 3MB download I think so still small. Consider also that OpenSSL, even if bundled in your package, will still need to be installed somehow. If you automate the installation (which will be extra work for you), then you'll need to make sure you don't cause problems for someone using a different version that might already be installed on the system.
SSL is just one example though. You'll need to make considerations for all other dependencies as well, and the requirements may increase with each platform (Operating System) you need to support. With Java, most, if not all, of what's needed tends to already be included anyway.
>> Did they explain why you shouldn't dismiss it so easily? If so, what >> was the reason they provided? > > No explanation given. presumably because getting downloads to dial up > land is still important outside the US. You should ask them why they think dial-up is so important.
Consider also the amount of data downloaded via many web sites these days (image files are getting larger not only due to higher resolution and more colours, but also because less emphasis is being put on compression the image data due to the popularity of high speed internet connections among both end users and businesses, and in many countries).
>> Also, does your target audience rely heavily on dial-up internet >> connections? If your audience is in North America, then you don't have [quoted text clipped - 4 lines] > That is interesting. Certainly they would be a big target and if they all > have broadband access I would tilt towards java. Don't misunderstand me -- there are still people using dial-up, it's just that there aren't typically enough to warrant worrying too much about. Add to that the fact that dial-up users are so accustomed to waiting for downloads of web pages, eMail messages (which often include both plain/text and html/text versions, plus who-knows-what-else), and updates for various software, that a 16 MB download is a fact of life that they just cope with (I know a lawyer who is still on dial-up everywhere but home, and he just patiently puts up with it when he's away).
> OTOH 16MB is still a quite slow download on a 1MB broadband connection > (common in Europe) and even on 3MB which I have myself it is a 7 minute > download. that is still a big deterrent when there is competition with > 1 or 2 minute downloads. Something's wrong with your broadband connection then because a 3 MB file shouldn't require 7 minutes to download at 1 Mbps. I'm connected at 10 Mbps at home, and a 2.5 MB download from a decent server just completed for me a few minutes ago in less than 8 seconds. If my speed was 1 Mbps, then that download should, in theory, complete in less than 80 seconds.
If I was that worried about download times, then I'd very seriously consider writing my code in Assembler and use very good de-compression libraries for graphics and data (which I'd compress before-hand in the most optimal way).
>>> Anyway, it seems you don't really have much of a choice. You only know >>> Java so just go ahead and at least write prototype in that language. [quoted text clipped - 4 lines] > > I agree with you. that was somebody else's comment, not mine. When quoting others, it's important to indicate that clearly, otherwise people will assume the comments are your own.
I'm glad that you agree, and hope you'll make the right choice for Java or C++ for what you're going to do. Writing your prototype in Java first, and then moving to C++ later, as was mentioned in a different message in this thread (you may have brought it up, but I don't remember off-hand), will be problematic in a very time-consuming way because these two languages have many fundamental differences. It's perfectly okay to use the same language for both prototyping and everything else, which will definitely make life simpler for you.
 Signature Randolf Richardson - kingpin+nntp@lumbercartel.ca The Lumber Cartel, local 42 (Canadian branch) http://www.lumbercartel.ca/
christopher@dailycrossword.com - 29 Jan 2007 05:18 GMT why are you asking programmers a marketing question?
> Ive got an idea that Im going to develop into an application. > this will be a GUI type application which will be given away freely to users [quoted text clipped - 8 lines] > > patrick Kai Schwebke - 29 Jan 2007 16:42 GMT christopher@dailycrossword.com schrieb:
> why are you asking programmers a marketing question? Choice of technology should be decided by management, not from marketing.
SCNR Kai
Free MagazinesGet these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...
|
|
|