Hi,
First of, sorry for some harshness, and second, my apologies for technical detail of the following:
Alex described one part of the picture, now I'll fill the rest:
These two devices - iPhone/iPod Touch/iPad and BrailleNote (rather, we call it "platforms") are written in two fundamentally different children of C programming language (rather, variants/improvements to C): Objective-C and C++, respectively. These two languages added object-oriented programming approach to C in different ways and using different styles: CPP sort of retains syntax of C but added classes, inheritence and simulation libraries, whereas Objective-C uses slightly different syntax and added some message passing syntax. Also, they were developed by two different companies and individuals - CPP came in 1983 via Bjarne Stroustrup, whereas Objective-C came from Apple. There is sort of a hybrid called Objective-C++, which adds some CPP syntax to Objective-C. A typical "hello world" pseudo-code for these two languages would be:
* In C++:

#include <iostram
using namespace sdd;
int main()
{cout << "Hello World!" << endl;
return 0;}

* In Objective-C:

#import <stdio.h
int main()
{printf("Hello World!");
return 0;}

These two says the same thing: print the message "Hello World" to the computer screen, but they use differing syntax.
A declation for a class and other things sets these apart:

* In C++:

class something
{//properties;
// methods;}

class child: public something
{//child's own properties and methods};}

* In Objective-C:

@interface something: NSObject
{//somethings;}

@interface child: something
{//the child of the something class;}


As you can see, they are different in syntax and declaration style. Try compiling Objective-C code in say, a CPP compiler and see what you'll get (a bunch of syntax errors) and vice versa. But this doesn't stop with language barriers: when some programmers and computer scientists think of iOS (the operating system (system programs) that powers iPhone, iTouch and iPad) and Windows CE, we usually take into account the differences in philosophy and model between Unix and Windows. What iOS really is just an optimized version of Mac OSX for Mac computers which are adapted for ARM processors and for mobile use, whereas Windows CE is quite a different approach from Windows Vista or 7 (they're not the same). With this knowledge, if we add the programming language differences from above (CPP for Windows CE and Objective-C for Mac), we get different philosophies and approaches when undertaking a project that requires different strategies. As for the rest of software story, I'll cordially ask other experts to fill in the gap. Now let's think about availible hardware resources. Even though both platforms run almost the same family of ARM processors (BN is slower than current iOS devices), they run differently because of the way the operating systems and programs use hardware. For instance, there are different ways of invoking touchscreen gestures between iOS and Windows Phone (even though they advertize multi-gesture technology) and they use differing ways of managing programs from OS level. Besides, the OS's structures are different, so a program that was written for say, Windows CE 7.0 would not run under iOS 5.0.1 (it could, given that they would use same family of bit patterns for instructions) because of the way OS treats these executable images (a microprocessor and OS are, as far as humans are concerned, just machines that knows nothing unless programmed and expects its way of formatting data).

To connect this thread more with this list, let us suppose that HumanWare does decide to build a KeySoft-like suite for iOS 6.0 (iOS 6.0 might be released later this year, according to patterns). There are three requirements to this project: same functionality as KeySoft on the BrailleNote, needs to work well with touchscreens and should have a mechanism to sync its data with an availible BN. We know that: * BrailleNote and iOS devices has same family of ARM processors with the exception of some iOS models, which have dual core processors.
* iOS devices are enhanced Unix/Mac systems with touchscreens.
* BrailleNote runs on a customized Windows CE OS.
* iOS requires Objective-C and Mac development program, whereas BrailleNote requires CPP and Visual Studio on Windows. There are at least three approaches to going forth with this "hypothetical" project: * Trying compiling: Suppose HW decides to add a KeySoft project under Mac's IDE and just compiles the CPP cone. * Find and replace: replace any CPP code with equivalent code of Objective-C. * Optimize: Even if it takes time, start from scratch and build something that runs smoothly with touch input. In your opinion, which method would satisfy the above project requirements: just compiling, replacing or optimizing? I'd say "optimizing" for a number of reasons: good learning curve for iOS development, stability and efficient development that'll take advantage of touch gestures and
optimizing not only the iOS port of this suite,
but also the BN's suite so both versions can run better than before (better performance for BN's version and good ratings from App Store users for iOS version).

As you can see, coming up with two ports of the same project that retuires different languages for each version and differing philosophies requires careful planning; and as Alex, I and others can testify: computer science is not just about programming, and programming is not just about coming up with awesome algorithms in seconds. As you learn more about programming and how computers work, you'll find that there are even problems that experts haven't got an answer (for one of these, when you solve it (and if others confirm it), you get a million dollars in your bank account and a chance to lecture at Harvard or UC Berkeley), or that it requires that you learn about integrals of four dimensions and Turring Machines (and other so-called Automata Theory, which I won't go into). If you have any general questions about programming for iOS devices, I recommend asking them on the programming list (and I'm sure people who are more familiar at this subject) would be happy to answer your questions in details. For now, I'm out.
Again sorry for some techieness and harshness here.
Cheers,
Joseph P.S. I promise: Since the subject of game creation came out, I'll answer that question and host of others on the next post.----- Original Message -----
From: Tyler <[email protected]
To: [email protected]
Date sent: Sun, 04 Mar 2012 21:00:45 -0500
Subject: [Braillenote] apps for Apple devices vs.  Braillenotes

Why is it said that Apple apps won't work on Braillenotes? I finally looked up Iphone on Wikipedia, and it said that the apps are written in Ajax. As a programmer, I know that Ajax is a way of doing Javascript; the J in Ajax stands for Javascript. So, why would an Apple app only work on Apple and not on a Braillenote? Would a Javascript file like I would write
work on an Iphone?
Tyler Z



___
Replies to this message will go directly to the sender.
If your reply would be useful to the list, please send a
copy to the list as well.

To leave the BrailleNote list, send a blank message to
[email protected]
To view the list archives or change your preferences, visit
http://list.humanware.com/mailman/listinfo/braillenote

Reply via email to