06/28/2009, 06:56 PM
|
#1 (permalink) |
|
Member
![]() Join Date: Nov 2002
Posts: 33
Likes Received: 0
Thanks: 0
Thanked 11 Times in 7 Posts
|
I think Palm really shoot themselves in the foot with this whole approach...
First the choice of JavaScript. Man, what was going through their mind there? Coding complex apps in JavaScript is royal PITA. If you ever coded something complex in JavaScript you know what I am talking about. If they've chosen Ruby or Python I could understand, and I bet people would love that much more and be more productive... And faster, phone is slow because it runs in browser and on JavaScript. Then, they send us, developers, back to freaking 1990's so we have to code in Notepads and other plain text editors all without syntax checking, auto-complete and debugging. Serious time waster... Next you have debug your app in the simulator for anything serious. It it appears that this is here to stay for some time according to Rough Cuts book. WOW, talk about pain. I really looked forward to trying to develop something on Pre, but man this thing is just badly architected. If you study the code for internal apps you'll understand. Everything based on JavaScript and browser, you can see un-elegance of the whole solution... JS is just ugly... So with this SDK there are no serious games you can develop with it, you are stuck with ancient tools and unproductive process. If you had time to look into the internals and how internal apps are developed what do you think? |
06/28/2009, 07:34 PM
|
#3 (permalink) |
|
Member
![]() ![]() Join Date: Jun 2009
Location: Silicon Valley
Posts: 787
Likes Received: 30
Thanks: 3
Thanked 102 Times in 67 Posts
|
I develop large JS apps and you can easily write good code if you follow basic conventions. I've seen plenty of bad python code.
Debugging seems to be included (not working it seems) in the leaked sdk - firefox and webkit have built in js debuggers, and the sdk is reusing the webkit one. There are plenty of editors that can do auto-completion in javascript (eclipse for example) and syntax validation. Plus that comment about developing in the "simulator" - why wouldn't you want to develop in a safe sandbox that can easily be restarted? |
06/28/2009, 07:41 PM
|
#4 (permalink) | |
|
Member
![]() Join Date: Jun 2007
Posts: 1,905
Likes Received: 7
Thanks: 76
Thanked 105 Times in 82 Posts
|
Quote:
I wish instead they had taken Android and added their new UI and Apps. |
|
06/28/2009, 07:43 PM
|
#5 (permalink) | |||||
|
Member
![]() Join Date: Nov 2002
Posts: 33
Likes Received: 0
Thanks: 0
Thanked 11 Times in 7 Posts
|
Quote:
Quote:
Quote:
Quote:
Here is tidbit from Rough Cuts: Quote:
|
|||||
06/28/2009, 08:22 PM
|
#6 (permalink) |
|
Member
![]() ![]() Join Date: Jun 2009
Posts: 752
Likes Received: 0
Thanks: 96
Thanked 218 Times in 78 Posts
|
I think the SDK we have now is kinda targeted at web developers. The people who use notepad to write code and debug by checking the page in a browser.
They might've made the choice because the webdev community is enormous and they thought the hardcore could easily code in a less complex language. Downside is, the apps you create with CSS, JS, etc. are less dynamic because of static nature of web pages. So the SDK is good for coding simple weblike apps, but bad for hardcore stuff like games. A pretty good fit for a "web" OS, I think. Most people live on the web nowadays and don't use a lot of apps besides their browser. Most things people use on the web can be recreated in webOS. Social, multimedia, news, e-mail, etc. But there will be people like you who want to go deeper and create something more complex. I'm not sure Palm will satisfy this need and how. They do seem to be working on some graphics APIs. |
06/28/2009, 09:32 PM
|
#7 (permalink) |
|
Homebrew Developer
![]() Join Date: Feb 2006
Location: Pune, India
Posts: 1,964
Likes Received: 14
Thanks: 375
Thanked 38 Times in 22 Posts
|
I thought I was the only person who was uncomfortable with the Javascript thing.
The whole architecture is aimed at de-mystifying and opening programming to the masses. Especially since most of the applications these days have to do with IM or "social" networking. The other major category of applications is database applications (lists and such). As demonstrated elsewhere (and posted in these forums), lots of games have been coded in Javascript. In any case, it appears that there is a big adjustment required of people coming from, say, C, C++ or VB. Added to that is the complexity of the MVC architecture. . Last edited by GreenHex; 06/28/2009 at 11:41 PM. Reason: grammar |
06/28/2009, 10:17 PM
|
#11 (permalink) | ||
|
Member
![]() ![]() Join Date: Jun 2009
Location: Silicon Valley
Posts: 787
Likes Received: 30
Thanks: 3
Thanked 102 Times in 67 Posts
|
Quote:
I do remind you that Firefox's entire UI is javascript/xml and is quite hardcore... Quote:
I think people are confusing languages with platform capabilities - java/c doesn't allow anything dynamic when it comes to the UI, they are just programming languages. It's the apis that are provided to them that allow to do fancy effects and all. Browsers already have a 2d canvas element - 2d drawing which allows for 2d games, with sprite scaling/etc built in and rendered in C (but called by js). So once you add a 3d canvas with 3d apis, you can write games. And all that is good enough to write fart apps just like on the iPhone! |
||
06/28/2009, 11:57 PM
|
#14 (permalink) |
|
Member
![]() ![]() Join Date: Jun 2009
Location: topeka, ks
Posts: 550
Likes Received: 0
Thanks: 4
Thanked 188 Times in 90 Posts
|
ignoring, for a moment the point made several posts up, that the entire user interface for foxpro is written in javascript and xml -- and is pretty heavy code, and pretty fast, and pretty functional, but let's ignore that.
So, let's assume that you can't do animation effects, graphics, and reasonable response and function in javascript. Then go explain this: World of Solitaire and get back to me with that... OK ? mean while, I'm going back to coding Pre apps. |
06/29/2009, 12:41 AM
|
#15 (permalink) |
|
Member
![]() Join Date: Jun 2009
Location: Missouri
Posts: 291
Likes Received: 52
Thanks: 52
Thanked 98 Times in 55 Posts
|
JavaScript is becoming a more pervasive language and will continue to grow with the advent of HTML 5. JavaScript is everywhere, client and server with implementations that cover just about everything. You can't hit a page on the internet hardly without using JS and the functionality is everything from simple redirects to full fledged web applications. Google, Yahoo, and MS all use HTML, CSS, JS for their widget technology. IBM has a new iWidget format for mashups that's dependent on JS for most the dynamic behavior and animations. OpenLazlo can run as either JS/HTML/CSS or switch to flash if available. Tibco UI (General Interface) is JS/XML/XSLT/XHTML/CSS and you can build full applications using their entirely web based IDE.
Flash is in essence ActionScript + XML. ActionScript and JavaScript are cousins both based off of ECMAScript which is the true standard. WebOS is designed to take advantage of HTML 5, which everyone is predicting as the "Flash Killer" because of the introduction of the Canvas tag which allows much richer graphics than previous VML implementations. You also have SVG+Javascript. The biggest problem with JS isn't the language, it's the individual interpretations of the expression of that language from the browser vendors. You could have similar problems with just about any language (example: trying to compile GCC apps depending on the platform you are on GCC versus and other lib versions, version of flash installed, version of PHP being used, JSTL library version/customization/code quality rules, etc.,.) The benefit of JS/CSS/HTML is that it's mature, well known, has a low threshold to entry (learning, tool cost, training cost), has ample examples, and is beginning to have tools as equally robust as those offered to C, Java, PHP developers (Aptana, Eclipse Web Tools). I don't look at this as a hack solution or some half-arsed choice based solely on cost. I think this was a methodical look at the abundance of applications moving into the web space, the potentials of cloud computing, the continuing maturity of standard languages, as well as the eagerness of web developers to push the boundaries of the tools available to them and come up with stunning new ways of doing things. |
06/29/2009, 01:51 AM
|
#16 (permalink) |
|
Member
![]() ![]() Join Date: Jun 2009
Location: Sunnyvale CA
Posts: 699
Likes Received: 6
Thanks: 19
Thanked 160 Times in 72 Posts
|
It's funny how all these 'real developers' always ***** about Javascript. The reason for this is that they don't understand Javascript. The natural reaction is then to downplay it as 'inferior' and 'not suitable for real development'. This is easier than admitting to be incapable of programming in the language.
Javascript is a real programming language and one can do real development in it. Small caveat is... you have to actually know Javascript (and xhtml and CSS as well for that matter). |
06/29/2009, 04:25 AM
|
#17 (permalink) | ||||
|
Member
![]() Join Date: Jun 2009
Posts: 8
Likes Received: 0
Thanks: 0
Thanked 11 Times in 2 Posts
|
I don't think its funny actually, I think its sad.
What we have here are 'old' vs 'new' developers just like what is going on with the 'old' vs 'new' media. Just because its not done they main way you know how doesn't make it 'bad' or 'slow'. If you actually know how to program with JavaScript and not just complain about it you will see the elegance and deep thought that went into designing the architecture of this platform. Its really easy to just expose your native APIs for the OS your running and tell everyone to get with the program. Its an entirely different thing to develop 2 separate programming layers to allow a much larger audience to use and develop on your platform. You talk a big game so lets see what your arguments are: Quote:
JS: Code:
<script>
alert('Hello, world!');
</script>
Code:
#import <stdio.h>
int main (int argc, const char *argv[])
{
printf ("Hello, world!\n");
return 0;
}
Next... Quote:
Next... Quote:
Next. Quote:
-G01 Last edited by mglinski01; 06/29/2009 at 04:52 AM. Reason: Fixed JS Snippit |
||||
06/29/2009, 04:31 AM
|
#18 (permalink) | |
|
Member
![]() Join Date: Jun 2009
Posts: 44
Likes Received: 0
Thanks: 0
Thanked 4 Times in 3 Posts
|
Quote:
Furthermore, Objective-C *is* a dynamically typed programming language whereas C is not (there is a difference) dynamically typed. I don't really have much of an opinion on this JS-sucks-for-the-Pre thing, but I think a lot of traditional application developers would be comfortable in a traditional application programming language. |
|
06/29/2009, 04:44 AM
|
#19 (permalink) |
|
Member
![]() Join Date: Jun 2009
Posts: 8
Likes Received: 0
Thanks: 0
Thanked 11 Times in 2 Posts
|
Sorry, Let me update my post to fix that example.
While I am not knocking the Obj-C guys - I do like the language a lot - It's just the same old story in a new cover. Any programmer worth his salt will know the difference between scripting(JS, PHP, LUA) languages and compiled(C(++), Obj-C, Python, etc.) languages and the 'inherit' advantages for each. Whats happening here is that the scripting languages are becoming just as powerful as the compiled languages, and because of that we don't have to deal with the limitations inherit with compiled code. Why is that not a good thing? -G01 |
06/29/2009, 05:31 AM
|
#20 (permalink) | |||||
|
Member
![]() Join Date: Nov 2002
Posts: 33
Likes Received: 0
Thanks: 0
Thanked 11 Times in 7 Posts
|
Quote:
And that is precisely the reason for my thinking. JavaScript is scripting, dynamic, weakly typed, prototype-based language. Scripting languages are designed to control applications, i.e. "glue" code to support apps and connected them together. JS is not designed for building the applications. If you cannot see that from makeup of the JavaScript then... Quote:
Your JS sample will not run as is. Debug it first ;-) So same can be written cleaner in Ruby and Java would not look out of place either so whats your point? Quote:
Quote:
Quote:
I don't know what kind work you do, but have you heard of debug/edit/continue cycle? Probably not. Try debugging for example Ruby code in NetBeans or app in VS.NET and you'll understand. |
|||||
![]() |
|
| Thread Tools | |
| Display Modes | |
|
|



