Войти
ПрограммированиеФорумВеб

Комфортный переход с С++ на javascript (2 стр)

Страницы: 1 2 3 4 5 Следующая »
#15
19:40, 20 мая 2014

AloneR
а что не так с nacl?


#16
23:32, 20 мая 2014

cNoNim
> а что не так с nacl?
Слоупочу, что это?
Если Google Native Client, то я проспал его релиз? Разве он всё ещё не в разработке?

#17
3:10, 21 мая 2014

Настоятельно рекомендую придерживаться Vanilla JS (эдакий юмор, название чистого JavaScript'а без каких либо фреймворков и библиотек).
Идти постепенно но вот 3 основных концепта к которым тебе нужно будет "привыкнуть":
1. Динамичная типизация (ой как тут можно намахаться где угодно).
2. prototype. Помни - функция это объект, по сути то же самое что и любая другая переменная. Но есть такая вещь как prototype что объяснить большинство людей не могут, да и самому тяжко, понимается с практикой, лучший ресурс по этой теме (имхо) http://www.objectplayground.com/.
3. Асинхронность (async), Однопоточность (single threaded), Событейность (event-driven), Callback'и - это по сути один большой такой концепт. Суть в том что JS выполняется в одном потоке, но контекст выполнения передаётся между функциями асинхронно. Это тоже постигается практикой. node.js в этой сфере лучший друг, поможет этот концепт отлично понять.

Настоятельно рекомендую держаться подальше от хипстерского де*ьма в виде: promises. Они с ECMA6 (к концу года) будут почти не нужны, большинство кто останется их юзать - останутся позади. А в ECMA7 дело с генераторами вообще станет очень приятным, и асинхронное выполнение кода в одном потоке контекста (await) - просто сказка. Очень этого не хватает в JS..

В общем, не читай книг, не нужно. Твой лучший друг - это кодить, и побольше. И никаких библиотек. Начни с решения простых логических и математических задачек, тут node.js отлично подойдёт, тем более после C++.
Потом переходи работать с DOM, и тут опять, рекомендую не использование фреймворков (не юзай jQuery), т.к. важно понять саму суть DOM'а, и как с ним работать напрямую.
Если потом захочеться когда уже будешь дело знать, бери фреймворки - дело твоё, но важно это научиться думать своей головой сперва.

Большинство сегодняшних JS разрабов, это к сожалению не JS разрабы. Они ни prototype не понимают, ни функциональную модульность, и тем более не способны концептуально понимать и критически подходить к архитектурным и этическим решениям разных фреймворков. Это просто вне их понимания. И это грустно, т.к. JS язык простой но в тоже время мощный, и в умелых руках делает красивые и мощные вещи, только руки нужно не из уопы растить..

#18
9:54, 21 мая 2014

AloneR
> Если Google Native Client, то я проспал его релиз? Разве он всё ещё не в разработке?
я тебя не понимаю... что значит релиз?
версия 1.0 вышла еще в 2011 году
но таки да он все еще в постоянной разработке, как по другому то?
но в целом nacl это технология google chrome only и пока что то не предвидится внедрения ее в другие браузеры
на текущий момент версии nacl коррелируют с верисями google chrome
и выбирать ту или иную версию нужно исходя из минимальной версии google chrome которую хочется поддерживать
версии отличаются наборами API
вот информация о различиях
https://developer.chrome.com/native-client/sdk/release-notes

#19
11:08, 21 мая 2014

MoKa
Большое спасибо за такой ответ, очень и очень круто, проникся!)

cNoNim
> я тебя не понимаю... что значит релиз?
Т.е. поддержка только хромом, да и это различия в разных его версия есть. Это делает его негодным (пока?) для написания игры для порталов. Все хотят кроссбаузерность, и чтобы на мобильных тоже работало.
Под релизом понимал поддержку всеми браузерами.


Интересно, почему про https://github.com/kripken/emscripten/wiki никто ничего не говорит - никто не пробовал. Выглядит весьма занятно, вроде пишешь на С++, получаешь JavaScript, нет? Где тут собака зарыта?

#20
23:56, 21 мая 2014

=A=L=X=
> Яваскрипт не так прост как может показаться по учебнику для начинающих.
  А по-моему там учить нечего. Я никогда особо им не занимался, но вроде за последние лет десять там особо ничего не поменялось, если не считать всяких jquery, которые тогда правда тоже уже были. Нормальные классы только в EcmaScript 6 появляются, так что сейчас везде классы делают кто во что горазд. Прототипы это вообще какая-то теоретическая фигня, которую даже в серьёзных вещах никто не использует.
  Так что можно спокойно брать примеры с http://threejs.org и смотреть, как они сделаны.

  Да, чуть не забыл, есть ещё TypeScript, который компилируется в JS. Там вообще есть не только классы, но и статическая типизация (по желанию).

#21
2:15, 22 мая 2014

Zefick
> Прототипы это вообще какая-то теоретическая фигня, которую даже в серьёзных
> вещах никто не использует.
Лол.

#22
4:19, 22 мая 2014

Zefick
.... ты им не занимался, лучше бы молчал, т.к. те кто занимается на тебя как на нуба смотрят, читая твой нонсенс..
Про prototype тем более..

#23
7:41, 22 мая 2014

Zefick
> Прототипы это вообще какая-то теоретическая фигня, которую даже в серьёзных вещах никто не использует.

Angular.JS активно использует прототипы.

#24
10:43, 22 мая 2014

Mephistopheles
> Твой пруф стух 3 года назад:)
Как бэ то, что статистику никто не собирает уже три года, говорит о том, что это не популярно

Mephistopheles
> Ерунду говориш же.
говорю то, что наблюдал на практике

Mephistopheles
> Тоже бред, то что они не работают не значит что у них нет денег которые они
> хотят потратить.
может есть у единиц, я же говорю про большинство

пс: ерунда, бред - это всё не аргументы, пока что ты создаёшь впечатление диванного аналитика или яростного юнитёра. поделись статистикой, если обладаешь таковой.

#25
11:02, 22 мая 2014

MoKa
> Про prototype тем более..
А он прав, прототипы бестолковая фича, наследование проще и удобнее реализовывать другими способами(примеси). Прототип используется только для прозрачного вызова конструктора предка при наследовании, а это редко когда нужно.

#26
11:18, 22 мая 2014

Feo
> Как бэ то, что статистику никто не собирает уже три года, говорит о том, что
> это не популярно
Кому надо тот собирает. разработчики говорят про более 300 000 000 установок(пруф если найду - добавлю), даже если там половина повторных то всеравно существенное число.

Feo
> говорю то, что наблюдал на практике
Есть исключения, но в основном люди ставят любую херню не задумываясь зачем она нужна.

Feo
> может есть у единиц, я же говорю про большинство
А большинство и не нужно или ты не вкурсе что основной профит с продаж делает малая часть пользователей?)

#27
13:10, 22 мая 2014

У таких тем три состояния:
1. Все тролли ещё не в теме.
2. Все тролли в теме.
3. Все тролли уже в бане.
AloneR
> Читать ли книжки по JavaScript для начинающих или есть более лучшие решения для знакомых с С++?
Для начинающих вообще ничего читать не надо. Для полноценной работы надо брать подробное руководство типа серии "в подлиннике" и читать до упора. Знание C++ для яваскрипта поможет мало.

#28
17:40, 22 мая 2014

AloneR
> Все хотят кроссбаузерность, и чтобы на мобильных тоже работало.
  Кроссбраузерность это чтобы работало и на IE 8. Если такого требования не стоит, то значит и на фаерфокс можно с таким же успехом забить. Остаётся только хром со своими многочисленными производными. В конце концов стоит он практически у всех и ради игры уж можно скачать.

#29
0:59, 24 мая 2014

Mephistopheles
В какой сфере ты работаешь?

В игровой, без .prototype никуда.
В фреймворках типа ExtJS без .prototype никуда.

Хороший фреймворк, <a href='https://github.com/search?p=1&q=javascript&ref=cmdform&type=Repositories' target='_blank'>глянь на github'е</a>, много кто юзает.

Я на практике в разных компаниях, от 5 до 150 людей, с разными индустриями, видел кучу разрабов, почти все кто хоть как-то заинтересован в фичах JS а не просто работают ради зарплаты, знают и юзают .prototype где уместно.
И это Лондон.

По этому я не знаю о чём ты говоришь, мои 7 лет в этой сфере показывают о актуальности .prototype.

Страницы: 1 2 3 4 5 Следующая »
ПрограммированиеФорумВеб

Тема в архиве.