Once again, very helpful, Sander. Thanks. As you can tell, I'm trying to 
have both good decisions and good responses to questions from professionals 
who already know how to develop solid, lasting software with other stacks. 
If those stacks do not get them handily to good UI in a cloud/web/mobile 
app, they are looking for other options.

I will continue to plan on moving to Angular 2.0 while retaining ES5, and I 
really hope that there will be plenty of resources for that approach. I 
noticed that the John Papa standards changed a bit in prep for 2.0 (with 
$inject, for example). It's hard to keep up, but I'll try to balance 
ignoring the not-ready-for-prime-time Angular 2.0 (the marketing is still 
very troubling and definitely keeping people from adopting Angular right 
now) and preparing for it.

Transpilers: I like transpilers a tad bit more than "code generators" where 
you do clicky-clicky things and then it generates code. However, I do not 
like the additional complexity of having a transpiler in the mix, and I 
would rather that we are debugging the JS we write rather than a generated 
version, unless there are some huge advantages. The html in the browser is 
already generated/rewritten by Angular (at this point we are using jade 
too). We are working with css, but as soon as there is a css-related 
designer on the team, they might want sass (or less or sylus or scss or 
whatever is on the horizon). It seems so unnecessary to add in another 
transpiler/code-generator into the mix -- although this is somewhat amusing 
--> 
https://github.com/jashkenas/coffeescript/wiki/list-of-languages-that-compile-to-JS.
 
JS seems to be the new p-code. Of course, I'm suggesting to my friends that 
they write a transpiler for MV BASIC (Data/BASIC) too as there are only 3 
flavors of BASIC in that list at this point.

OO: I love the gorilla/banana problem -- thanks for pointing me to that and 
some great quotations regarding OO. Both OOP and RDBMS's contributed in 
various ways to software being harder to write, more bloated, and less fun 
for individuals and teams to develop. There is still plenty of development 
done in COBOL, FORTRAN, and one of the 100+ flavors of BASIC 
(https://en.wikipedia.org/wiki/Category:BASIC_programming_language_family), 
not to mention C. JavaScript is relatively easy to pick up by folks working 
with these languages, with additions like prototypal inheritance, objects, 
and closure as topics to cover when introducing JS. 

There are definitely some things not to like about ES5, but I don't want to 
do the two-punch of a transpiler in the mix (debugging generated code and 
having another moving part on the server) and a flood of unnecessary 
classes in the source code. When I saw an example of ES6 code with class 
declarations, "let" statements, arrows, ellipses, and the like, I did not 
want to give it another thought (OK, that's not true, I gobbled it up, then 
spit it out and got back to work). smiles.  --dawn

On Tuesday, July 21, 2015 at 2:14:30 AM UTC-5, Sander Elias wrote:
>
> Hi Dawn,
>
> You can use NG2 with ES5 without issues. Here I created a small plunk 
> <http://plnkr.co/edit/tpl:tPPJ4JYfrLQXsIciSm1Q> that does just that. You 
> can play with it as much as you like. How much I do like to play and 
> program in ES6, I dislike the transpilation step. It feels like an build-in 
> code-dept. If you need to do production now, you are better off learning 
> ES5, and use the styleguide 
> <https://github.com/johnpapa/angular-styleguide>to build an NG1 
> application. Most of what you learn will pay of if you are ready to move to 
> ES6 and/or NG2. 
>
> FYI: ES6 is not an OO language. The OO part is just a nicer syntax for 
> what is available in ES5. It is a mistake to take the OO principle as it is 
> for example in JAVA and apply that to ES6. It will mostly work, but it will 
> repeat the big mistake that is in there (google for the gorilla/banana 
> problem)
> ES6 is mostly a slightly nicer ES5 with some of the pain-point released, 
> and some great productivity assets. But it is not a new language. You don't 
> need to learn another paradigm. Everything in there is complementary to 
> ES5, meaning, you get a few extra tools in your toolbox to choose from, not 
> an entire new toolbox with different tools. For a job, you now can choose 
> to use a new (perhaps better suited) tool, or continue to use your old 
> tools, until you are familiar enough with the new ones.
>
> Regards
> Sander
>
> PS, NG2 is not ready for production by a long shot! play with it, learn 
> it's concepts, but don't build anything serous with it yet. It is in way to 
> much flux. (unless you like to rewrite your entire app a dozen of times ;) )
>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to angular+unsubscr...@googlegroups.com.
To post to this group, send email to angular@googlegroups.com.
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to