Page 2 of 3

Re: Programming for Smart Phones and Tablets

Posted: Wed Feb 22, 2012 6:10 pm
by ainsoph9
Thanks. That is at least a start in the Java direction. I have seen Java code before. The CS majors at my college found the similarities to C++ quite stark, but they tended to prefer Java over C++, probably because they learned Java before C++.

Re: Programming for Smart Phones and Tablets

Posted: Thu Feb 23, 2012 8:47 pm
by Rajikai
I'm taking a C class. I was also interested in programming for android, don't really care much for the others. Java is what I heard is used for android apk, like said earlier. Visual Studio I'm sure you can get that for free. But you should really focus on one programming language at a time. Youtube is a good source I guess. Everyone has their own way of learning. What way do you learn better? Visual, Audio, or hands on? Visual, maybe something like a book or on the web, audio, youtube or a teacher, hands on, any of the above.

Btw, do you know any programming language? I basically mean do you know how to write basic codes in that language?

Re: Programming for Smart Phones and Tablets

Posted: Thu Feb 23, 2012 9:03 pm
by ainsoph9
C? Not C++, Objective-C, or C#? Odd...

Visual Studio is free...if you pirate it. Argh! That said, you can get it free through your company or school, but the chances of you legally owning it is another story altogether.

I recommend Eclipse, which is actually legally free, and you can program Java and the various C languages in it. If you really brave, use Notepad++.

As I already said how I learned and what works for me, no use repeating myself.

Re: Programming for Smart Phones and Tablets

Posted: Thu Feb 23, 2012 9:28 pm
by Rajikai
ainsoph9 wrote:C? Not C++, Objective-C, or C#? Odd...

Visual Studio is free...if you pirate it. Argh! That said, you can get it free through your company or school, but the chances of you legally owning it is another story altogether.

I recommend Eclipse, which is actually legally free, and you can program Java and the various C languages in it. If you really brave, use Notepad++.

As I already said how I learned and what works for me, no use repeating myself.
You got me wondering now... Could be Objective-C... I'll check on that later. No I did not pirate it. I got it directly from the Microsoft website, through a Google search. But we might be talking about different products. Microsoft Visual C++ 2010 Express. I use it for C programming, or that's what I'm told. :/ Though it's Visual express, my teacher calls it Visual Studio. So I assumed they are the same...

Re: Programming for Smart Phones and Tablets

Posted: Thu Feb 23, 2012 10:17 pm
by ainsoph9
They are different. One is like the "trial" version of the other.

Re: Programming for Smart Phones and Tablets

Posted: Fri Feb 24, 2012 2:37 am
by rpapo
ainsoph9 wrote:They are different. One is like the "trial" version of the other.
A trial version, but without a time limit and with 90% of the features available. Beyond that, I cannot say, since I've had an MSDN license through my job since 1997, and have kept my home machine current. There actually is a version of Visual Studio that is legally free (VS6), but it is so old it is not useful for what you want to do. I find it useful myself, for some Windows things, but it is woefully out of date.

FWIW, Visual Studio 2008 is pretty good. Microsoft decided they would migrate most of the Visual Studio front-end code to C# with VS 2010, and it turned the thing into a pig (fat and slow), at least in my opinion.

Re: Programming for Smart Phones and Tablets

Posted: Fri Feb 24, 2012 9:15 am
by ainsoph9
I have heard that C# can create that problem. I have heard also that C# is good for small programs for quick fixes, but it is not the ideal language for massive apps.

Re: Programming for Smart Phones and Tablets

Posted: Sat Feb 25, 2012 3:30 am
by rpapo
ainsoph9 wrote:I have heard that C# can create that problem. I have heard also that C# is good for small programs for quick fixes, but it is not the ideal language for massive apps.
There's a very good reason for this. C and C++ are generally native compiled languages. That is, the result of preparing the program is a module that is executed directly by the machine's central processor. Java and C#, however, are compiled to an imaginary machine, a virtual processor. The resultant program must the be executed by a virtual processor, which is a program running on the native processor. This imposes an overhead typically on the order of 10-100 times over the speed you would get executing native code directly.

Both Sun/Oracle and Microsoft have something called a Just-In-Time compiler in place to convert the virtual code to native code, so the first time you encounter a particular piece of virtual code, it gets converted to run faster from then on, but there is a cost involved in that first conversion, and in the transition from virtual mode to native mode, and back again upon returning from the converted module.

Nor is this virtual/native conversion or delay the only problem with the two languages. In the name of safety, both languages utilize a scheme where memory is managed for the user, to help avoid mistakes (aka leaks) in memory management. That is all well and good, but it costs time. C/C++ requires the users to manage their own memory, but that's like giving somebody a gun to play with: if it is not done with care, it can blow up in your face.

Some have likened it to the difference between the family sedan and a drag racer. The family sedan behaves nicely, but rarely excels. Then again, family sedans rarely blow up, either. The difference in performance between native and virtual languages is much greater, both in terms of speed and safety.

To be 100% fair, however, there are times when the relatively lack of performance of Java/C# doesn't matter: when the program spends most of it's time waiting for input or output, like when it is waiting for user input, or (say) printer output. Also, though I personally haven't worked with one, they say there are processors out there that were designed to run the Java virtual machine codes natively from the start. They simply aren't used by Microsoft nor Apple.

Re: Programming for Smart Phones and Tablets

Posted: Sat Feb 25, 2012 6:48 pm
by ainsoph9
I think I might have heard/read about this issue in the past. The trade-off between the time it takes to execute instructions and memory management is nothing new, especially since this kind of problem exists at the architectural level of computer design, as you indicated. One of the things about C/C++ that I never cared for was the memory leakage problem. Sometimes coding just around that alone is a hassle that is more than it is worth. So, you can wind up with as much as a behemoth as a Java/C# program, if you are not careful.

Personally, I am just waiting for the day when computer scientists figure out how to program with "code" that is like me writing this sentence here.

Re: Programming for Smart Phones and Tablets

Posted: Sat Feb 25, 2012 7:01 pm
by hobogunner
http://en.wikipedia.org/wiki/Comparison ... erformance

C++ and most others go directly into Machine Code which takes 'longer', however the run faster than Java programs.

Java is broken into 'Java Byte Code' which is similar to Machine Code (about 80% there), however, it is not machine specific, from that point you need a JVM (Java Virtual Machine) to then make it into Machine Code for your specific computer.

Re: Programming for Smart Phones and Tablets

Posted: Sat Feb 25, 2012 8:05 pm
by joay_b
ainsoph9 wrote:Personally, I am just waiting for the day when computer scientists figure out how to program with "code" that is like me writing this sentence here.
Perhaps COBOL and SQL might be suited for you then? :wink:

Re: Programming for Smart Phones and Tablets

Posted: Sun Feb 26, 2012 2:57 am
by rpapo
joay_b wrote:
ainsoph9 wrote:Personally, I am just waiting for the day when computer scientists figure out how to program with "code" that is like me writing this sentence here.
Perhaps COBOL and SQL might be suited for you then? :wink:
If he were a real developer that would be a little below the belt, methinks. Not the SQL part, but the COBOL part. No disrespect to Adm. Grace Hopper, though.

Seriously, though, I find myself involved in two ways here: (1) I am an employee of Micro Focus, a UK company that happens to be the de-factor owner of the language COBOL in the Microsoft PC world. Not that I am involved in COBOL in any way myself. :roll: And (2), when it comes to the area of C/C++ memory leaks and their detection, it just so happens that what I work on in my day job is a product called BoundsChecker (see http://en.wikipedia.org/wiki/BoundsChecker), a very old (early 1990s) and reasonably well known product that watches a program as it executes and lets you know about all the memory leaks, buffer overruns and other such illegalities it sees. So you could say I'm a little familiar with the ways people can screw up with C/C++. 8)

Re: Programming for Smart Phones and Tablets

Posted: Sun Feb 26, 2012 9:30 am
by ainsoph9
joay_b wrote:Perhaps COBOL and SQL might be suited for you then? :wink:
I have actually used a little SQL. It was alright, but it kind of felt "stiff," since it was like speaking purely in TI calculator language. At least it was usable.
rpapo wrote:
joay_b wrote:If he were a real developer that would be a little below the belt, methinks. Not the SQL part, but the COBOL part. No disrespect to Adm. Grace Hopper, though.

Seriously, though, I find myself involved in two ways here: (1) I am an employee of Micro Focus, a UK company that happens to be the de-factor owner of the language COBOL in the Microsoft PC world. Not that I am involved in COBOL in any way myself. :roll: And (2), when it comes to the area of C/C++ memory leaks and their detection, it just so happens that what I work on in my day job is a product called BoundsChecker (see http://en.wikipedia.org/wiki/BoundsChecker), a very old (early 1990s) and reasonably well known product that watches a program as it executes and lets you know about all the memory leaks, buffer overruns and other such illegalities it sees. So you could say I'm a little familiar with the ways people can screw up with C/C++. 8)
The funny thing here is that for all you guys know, I am a real developer who is just trolling this forum. :P

Concerning COBOL, I think that it someone made a few advances on COBOL or OpenCOBOL by allowing pointers and a few other things, COBOL would be quite an ideal computer language for the layman. I realize that it has other weaknesses, but I see no reason why those cannot be overcome. Your imagination is your limits, and the limits are the sky - so to speak.

I think I remember you talking about BoundsChecker a long time back.

Re: Programming for Smart Phones and Tablets

Posted: Sun Feb 26, 2012 9:38 am
by rpapo
I've seen what happens when a person who thinks he's a programmer (but isn't, not really) uses COBOL. It isn't pretty . . . :(

Re: Programming for Smart Phones and Tablets

Posted: Sun Feb 26, 2012 10:01 am
by ainsoph9
Yeah...I can only imagine. There again, I had a professor tell us about how he told his daughter to take a FORTRAN class that he was teaching, saying that it was easy as pi(e). He was thinking of "pie" with an "e," but she wound up finding as memorizing "pi" without the "e." Long story short, when she was failing his class, he pulled some strings so that she would pass, and he could save face. Point of the story is that it is all in how things are taught. I think that most people are scared enough of programming that they do not try making themselves out to be programmers. At the same time, there are always those few...*looks at know-it-all managers* :roll: :P