Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I am working on an update of a curriculum for teaching non technical students the basics of programming, esp. programming for the web.
I prefer coffeescript over javascript for the (most times) much shorter and - as I think - better readable code.
On the other hand there are thousands of examples written in Javascript which are harder to understand if you know only about Coffeescript.
For the last years I just told my students to use a split screen in the editor, code CS in one frame and see JS in the other to see what is the translation of the CS statements in JS. And I showed the how to use CS2JS and JS2CS converter. The idea behind this is to make things visible like what "for-each" or "for-in" statements of CS do, as they are shown in JS in an unfolded way.
(I know this example leaks a little bit as ECMA 5 is rolled out now for a little time, but I am doing this for didactic reasons for a little while now)
Another problem is that there a not so much code hinter etc. for CS then for JS available.
EDIT
As the community seams to see this question to be opinion based, I precise it:
What toolchain do you use to make an easy entrypoint available for newbees to learn CS?
My pipeline builds on brackets.io as a webservice, node, gerrit, gitlab, ungit, jenkins, jade, less, coffeescript, ...
I have the need to make everything available totally offline so I wrap the tools in docker containers and VMs.
Before this question is closed as opinion-based, which indeed it is, let me comment that I cannot imagine the value in teaching non-technical students about CS vs. JS transpilation issues. They must have MUCH better things to spend their time on. As lovely as CS is, it is a dialect. Teaching it is like teaching Cockney slang in an English class. Furthermore, notwithstanding all the great code written in CS and the great benefits in efficiency it brought to those who used it, for better or for worse it is now on its way out, superseded by ES6 and TypeScript and eventually ES7.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
Improve this question
I'm a first year IT student in uni and have a dev job in which we use a lot of .Net, sql and a bit of js. I want to be able to broaden my range of skills so I have more to offer for current and future employers but I'm not sure what skills would be most useful.
For context I've worked with SQL, .Net, a bit of JS, HTML, python (although I learned to code using python and I haven't revisited it for a while), and some MongoDB. Keep in mind that I never got a chance to set up these bigger projects, only ever worked on well established programs and never was a part of the rollout process.
(keep in mind I am open to learning other areas such as higher level math if that would help - I did a bit of the higher level maths in high school but ultimately did the standard level math)
What skills should I learn at home to try and progress and what are some good ways of practising these? (sorry for how general the question is)
Depends on the field you are interested in. Here are some of my favorite technologies
web frontends: Vue3.js, Bootstrap5
web backend: Django
data analysis: R, Python, Tensorflow
image processing: OpenCV (Python wrapping)
desktop GUI: PyQt5
embedded, IoT: C/C++
I know, it is a bit biased towards Python, but the thing is that this language can be used in so many fields that it is worth considering.
If you are going to start one of these, always start with a little project, maybe following some good tutorial. Hands-on is the way forward.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
So I won't say I'm a complete beginner, as I know the very basics and have a CS degree(that I'm very rusty at) but I have gone back through and refreshed myself with the CS50 Harvard course.
The last project is to build something, and I've gotten more into learning JS for unit testing at work and while we mostly use rails...I'm interested in learning the new emergent stuff.
I've heard the 70/30 rule applies to full stack devs, and I can't imagine if ever be good with front end stuff so I'd imagine that would be my "30". However with ES6 out and all these new conventions and frameworks I'm a bit lost where I should start?
There is a highly rated JS and Jquery book on Amazon I've been eyeing, but it's quite old. And I wonder about backend frameworks too.
My ideal learning "stack" would be node/react and mongo (with express for node) but it seems like a bad idea to learn them all at once. If I'm interested in backend should I just stick with learning node/express first?
Do I need to worry about ES6 as a beginner? I guess I'm just stuck where to start and in general which path I should take. I've done some dabbling in express but it seems like getting at least decent with JS and Jquery makes sense first?
Thanks
Sorry I think StackOverflow is not the right place to ask about your question and this will be soon removed or closed and tagged as "too vague", but I'm here to help and share what I know, so I'll answer anyway:
So you:
Know the very basics of JS
Have a CS degree
Are interested in back-end development
Well, you're years ahead of other people starting with JS. You know something and you want to specialize in a given technology. That's great.
You can start with Node.js since you want to do back-end development, and your CS background could help you with that. Using Node.js will give you the environment you need and you can make your experiments with JavaScript there. Node.js is just a collection of JavaScript APIs for server-side programming, so learning it will also make you a better JS developer since you'll learn both together.
Do you need to worry about ES6? Well, don't think about ES6 as something different than JS. If you learn it by up-to-date JS books you'll learn it as well.
I would avoid thinking about your "stack" right now. Learn Node.js and JS by the way and you'll have a strong foundation to learn anything else you want.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
As a newbie to coffeescript, I wanted to know what advantages does coffeescript offer over javascript. I know it makes your code more elegant but at the same time slows it down too. Also few of the Javascript features are not inherited in it, still I see many developers migrating to coffeescript specially when they need to use frameworks like BackboneJS.
Keep in mind that coffeescript was designed a few years ago when there was no ECMAScript 6 which brought a few nice features which make writing plain javascript code easier and faster.
Coffeescript really boosted speed of development at the time. In fact it become a standard tool of use for the most of the rails projects.
Even if it's slower (eventually it's converted to plain javascript anyway, but I'm not sure if the output js code is slower) for many applications it really makes no difference (we're talking about miliseconds, not seconds).
But now we have 2016, and if I would start a new project today I wouldn't use coffeescript but the new version of javascript or typescript (some would say choose ELM).
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
We are a student team maintaining a mobile app written mainly in javascript (also jquery) and PHP.
We recognized that we have to improve the structure of our code and have to implement structures and workflows within the Team.
Status of the code:
By now the code is still very tangled, not loosely coupled.
Classnames with identical names in different folders.
Wide usage of == instead of ===.
Wide usage of global variables.
We reinvented the wheel for parts of the code. (where frameworks already existed for certain purposes)
Status Methods/Tools:
We are now implementing SCRUM
We use Redmine Backlogs which works good for us.
We implemented a usable branching model for git. (http://nvie.com/posts/a-successful-git-branching-model/)
We started to use jsdoc to do an inline documentation of the code.
We stumbled across SonarQube (a code quality checking tool) and think this might be helpful.
We are still new to TDD and skeptic about it.
We do not have expertise in designpatterns but would like to apply them.
Only few in our team of round about 6 people know the basic concepts of MVC, MVV, MVP.
We want to start with refactoring our code (to unobtrusive js?) around the first week of september.
Which steps would you suggest so that we don't stumble too much and that the process is kept transparent and motivation is high?
Would you start by fixing little issues like the == / === thing? (things SonarQube comes up with)
Would you start with implementing a TDD framework but without having a testable MVC/MVV ?
Would you start with separating js from html and css?
Would you start with bugfixing of old, not yet resolved tickets to have absolutely clean branches?
Thank you very much for any suggestions/ideas/best practices
Marc
Well .. step nr.1: read this book. You have time enough for that till September.
Watch following lectures:
It Was Like That When I Got Here
Recognising smelly code
Unit testing
These materials should give you some sense of the subject.
As for real first steps, separating the HTML from JavaScript is a nice place to begin. If you know how to do event delegation in javascript - good. If not, look into it.
Then you can move on to fixing the part of page that spews out the HTML. Separate the SQL, add some abstraction, some OOP principles.
If you end up aiming at something MVC-shaped, then this list of links might help a bit.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
I am proficient in C++, I dont know Java Script and want to learn JS, What should be the way/process for me? I know basic html, CSS.
Check out the one and only JavaScript Guide from MDC:
https://developer.mozilla.org/en/docs/Web/JavaScript/Guide
Besides that, forget everything you know about C++ it won't help you in any way. JavaScript is a completely different beast on its own.
It will take a lot of type to learn all the quirks of the language and the Browsers it runs in, if you want to do server side JavaScript check out Node.js, but be advised, learn a lot about JS before doing that.
An answer that takes things in a different angle: Have you heard of Emscripten?
Emscripten is basically a C/C++ to Javascript converter. It allows you to write code in C/C++, compile it, and then convert your compiled bitcode to Javascript.
Clearly, this isn't aimed at teaching a C++ programmer to write Javascript, so it isn't a direct answer to this question. But it does allow him to create Javascript code, in a round-about sort of way.
Of course, he could always try using it a learning tool, by writing some C++ code and studying the converted Javascript. It might be helpful in simple cases, although I suspect it wouldn't be ideal code to learn from.
Check out http://codeavengers.com to learn JavaScript, it's the best and easiest way.
Good browser + a debugger plugin (both firefox and opera will suffice). Plus for the start its good to start on top of some good JS library: jQuery or Mootols (my favourites).
The hardest issue for me were the differences in the implementation. C++ compilers tend to break the standard, or implement just some parts of it, but the differences between javascript implementations are just insane.
If you are OK with C++, you will be able to code pretty easily, the syntax is similar, but everything is a lot simpler and dynamic.
There is no relation between c++ and javascript anyway, so being proficient in C++ does not help you learn javascript, altough it gives you heads up in getting accustomed to the writing code in javascript easily.
you can start here - http://homepage.ntlworld.com/kayseycarvey/