How to Convert a Procedural Programming into Object-Oriented Programming?

What other choices do I have besides JavaScript for programming web browsers?

  • Programming is about choice. On the server we can use whatever combinations of web server, database, programming language, and development environment we like. Its Not the same case when it comes to the browser, we’re stuck with Javascript. How can we tackle this issue? May be a tool to convert our Python, Perl or even Ruby code into JavaScript code?

  • Answer:

    Objective-J (much like Objective-C) is the language that Cappuccino uses... and there's an AppKit clone (based on GNU's GNUStep project based on the OpenStep spec) so you get all the GUI goodness of OS X, but all browser-based and works with all modern browsers (including IE6).  See http://280north.com

David Pollak at Quora Visit the source

Was this solution helpful to you?

Other answers

Coffeescript: http://jashkenas.github.com/coffee-script/ Skulpt: http://www.skulpt.org/  (python in-browser, still evolving) Pyjamas: http://code.google.com/p/pyjamas/ (python to js compiler) Pyscript is syntactic sugar: http://www.azarask.in/blog/post/making-javascript-syntax-not-suck/

Venky Iyer

GWT ( Google Web Toolkit ) is indeed a good solution to not write JS directly. One of our product, Seesmic Web ( http://seesmic.com/app ), is written entirely in GWT and our experience of using this product has been very good. You can debug your code directly into Eclipse, it's compiling an optimized JS for each browser out there, and you can benefit from a lot of java libraries and widgets. Google is very committed to this project, and release new updates very frequently. You can also have a look at some slides I did on our experience : http://www.slideshare.net/romefort/seesmic-web-gwt

Johann Romefort

There is also Google Web Toolkit (http://code.google.com/webtoolkit/) which allows you to write in Java and essentially compile to JavaScript. Many of their products like gmail and maps are written using this framework. Haven't used it myself but the results sort of speak for themselves.

Matt Kauffman

Currently javascript is the only native game in town.  You can indeed use GWT or one of a host of pre-processors, cross compilers and they may be helpful for a specific project, but the problem with them is that IF such a tool itself introduces a bug then this can compound the problems of debugging - the tool's output isn't likely to be that easy to read!  This problem may not manifest itself for many projects.  But IMHO the shortcomings of javascript really come into play when you are writing big programs and pushing the envelope of the language and it is precisely here that you are likely to run into problems with such tools.  Furthermore if you have such an experience it can be corrosive of your confidence in the tool. I very much hope that google's native client project fulfills its promise.  NaCl is a whole topic of its own but the prospect of being able to develop in pretty much any language then run compiled binary securely in the browser has many advantages.  IMHO this project has the potential to revolutionize next generation browser apps.

Pete Griffiths

Clojurescript is a great addition to the list here. If you like Clojure, Lisp or functional programming, you can't beat Clojurescript. http://clojurescriptone.com/getting-started.html might be a good tutorial to help you get started.

Gaju Bhat

There is a new crop of languages that compile down to JavaScript ( Coffeescript, Typescript, Objective-j, etc), but they are just syntactic sugar layers. When compiled, the result is plain old JavaScript. Trying to implement a whole different language in JavaScript is very difficult and suboptimal performance wise. The problem is that, although you can replicate python's syntax (for example) it's very hard to reimplement its object model and type system. Those languages that compile down to JavaScript don't intend to change the underlying language, they simply offer and alternative syntax to deal with javascript's data types, structures and prototypes. So right now you have three choices: 1) Plain old JavaScript. 2) Alternative syntax for JavaScript ( like Coffeescript ). 3) A whole language re implemented in JavaScript, like python Skulp (with a huge performance hit). And soon there will be another choice: Google's Dart. This is a new language created by language that aims to replace JavaScript in the browser. That brings a lot of political issues with competing vendors and it will be very hard for it to succeed or gain wide acceptance. Although Google will make it compile down to JavaScript so it could run on browsers that don't support Dart's vm. Time will tell...

Luis M. Gonzalez

I also strongly recommend starting with JS libs. Jquery is very famous and widely used. It is really fun and has a large ecosystem consisting of many developers that build plug-ins for jquery

Ozkan Altuner

I understand what you are saying... we would ideally like programming to be about choice... or any technical solution designing to be about choice... but alas the web-based client side of a software solution has been constrained to 1 choice... HTML + CSS + JavaScript.  This Frankenstein's monster, this chimera, this hodge-podge mess... this is what we're left with.I don't consider exporting to it, compiling to it, etc... to be a solution... just a sad work around that STILL requires testing in every browser.HTML+CSS+JavaScript need to go the way of Gopher, Veronica, and their friends.We had something that was superior in its ability to do graphics, layout, and code, and display it consistently across platforms... but hey... its progressive haters decided nobody should use it, and we should all use HTML+CSS+JavaScript.I just can't envision futuristic apps and interfaces built with this "stuff" that we have now.

Sean Thorpe

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.