Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Как научиться думать на javascript ? (https://javascript.ru/forum/offtopic/28136-kak-nauchitsya-dumat-na-javascript.html)

samuel 08.05.2012 23:46

Как научиться думать на javascript ?
 
не знал куда лучше запостить поэтому закинул сюда.
в общем такая вот проблема после прочтения книги по ява скрипту + еще один курс прошол от специалиста (обе части)
язык сам я выучил (хоть иногда и подглядываю в справочник)
даже понял что как работает (ну примерно) синтаксис и т.д.
проблема в том что я не способен применять свои знания на практике.
ну например я могу открыть чужой код нормально ориентируюсь в нем
но написать что-то свое у меня не получается
мне тяжеловато это объяснить (к слову это мой первый язык програмирования )
ну вот к примеру я очень хорошо владею фотошопом.
и когда мне говорят что нужно зелать
я на автомате понимаю как это реализовать
а на яваскрипте у меня так не получается (простейшие задачки невсчет)
как можно развить в себе это понимание и научить себя думать на яваскрипте ?
совет просто сиди и пиши не поможет
ведь я не знаю как.

и еще маленький вопрос к более опытным
планирую осваивать Jqueru и ajax
потому что действительно крутые вещи пишутся с их применением
как думаете имеет смысл счас начанать учить чтоб потом уже разбираться что как делается
или лучше пока нормально js освоить ?

Shaci 08.05.2012 23:48

Цитата:

Сообщение от samuel (Сообщение 173344)
совет просто сиди и пиши не поможет
ведь я не знаю как.

а иначе никак

Gvozd 08.05.2012 23:59

Цитата:

Сообщение от Shaci
а иначе никак

+1
дословно уже не вспоиню как мне говорил мой преподователь, но что-то вроде:
Чтобы научится программировать нужна голова и задница.
Головой - думать, на заднице - сидеть.
Цитата:

Сообщение от samuel
в общем такая вот проблема после прочтения книги по ява скрипту + еще один курс прошол от специалиста (обе части)

скажите что это за книги и курс?
не все книги, и курсы одинаково полезны.
Например различные видеоуроки среди профессиональных программистов славятся дурной славой, и являются суть развод лохов, ИМХО.

nerv_ 09.05.2012 00:08

Цитата:

Сообщение от Gvozd
Головой - думать, на заднице - сидеть.

и он был прав :yes:
Цитата:

Сообщение от samuel
совет просто сиди и пиши не поможет

сиди и осмысленно пиши.
Чтобы что-то делать хорошо, для начала надо это просто делать.
Очень хороший учебник + задачи у автора данного ресурса. Решай на здоровье.
Цитата:

Сообщение от samuel
после прочтения книги по ява скрипту

прочитать мало. Надо понять и на практике закрепить.

devote 09.05.2012 00:13

Цитата:

Сообщение от samuel
планирую осваивать Jqueru

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

Gozar 09.05.2012 00:28

Цитата:

Сообщение от devote
джуквери отупляет

extjs отупляет, dojo и т.д. ... хе-хе ;)

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

Gvozd 09.05.2012 00:30

Цитата:

Сообщение от nerv_
и он был прав

Она.
Я не очень силен в русском языке(тороечник, ага), но вроде слова "учитель" и "преподаватель" не имеют рода

nerv_ 09.05.2012 00:41

Gvozd, я тоже) Ради интереса заглянул в вики (род). Там присутствует такой термин - анафора.
Цитата:

Ана́фора, анафори́ческое отноше́ние (от др.-греч. ἀναφορά — отнесение, передача) — отношение между языковыми выражениями (словами или словосочетаниями), при котором в смысл одного выражения входит отсылка к другому, ранее упомянутому языковому выражению.
*подчеркиванием выделил то, что вкладывал в смысл он (т.е. он ссылка на преподователь)

Gvozd 09.05.2012 00:51

Цитата:

Сообщение от nerv_
*подчеркиванием выделил то, что вкладывал в смысл он (т.е. он ссылка на преподователь)

Это моя ошибка, что вы подумали что я говорю о мужчине.
Плох у меня русский язык. )
Буду в следующий раз внимательней

B@rmaley.e><e 09.05.2012 01:29

Цитата:

Сообщение от samuel
к слову это мой первый язык програмирования

Отсюда всё и идет. Научитесь разбивать (декомпозировать) задачу на более мелкие, которые в свою очередь опять разбивать вплоть до задач того уровня, который Вы можете решить. Со временем это начнёт происходить автоматически.
Думать надо не на JS, а в императивном стиле т.е. "Как найти максимальный элемент в массиве? Пройтись по массиву, сравнивая текущий элемент с кандидатом на максимум"

Поможет тут, как уже говорили, только практика.

Раед 09.05.2012 01:35

Цитата:

Сообщение от samuel
ну например я могу открыть чужой код нормально ориентируюсь в нем
но написать что-то свое у меня не получается

Блин, у меня в точности наоборот. Никогда не хватает терпения разобраться в чужом коде :)

melky 09.05.2012 07:02

Цитата:

Сообщение от devote (Сообщение 173349)
не лучший вариант осваивать какую-то либу не зная языка. джуквери отупляет, если уж хочется писать с использованием этой либы то нужно понимать то на чем пишешь. Потренируй голову пока без джуквери и прочих либ

согласен. я так делал :)

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 173358)
Отсюда всё и идет. Научитесь разбивать (декомпозировать) задачу на более мелкие, которые в свою очередь опять разбивать вплоть до задач того уровня, который Вы можете решить. Со временем это начнёт происходить автоматически.
Думать надо не на JS, а в императивном стиле т.е. "Как найти максимальный элемент в массиве? Пройтись по массиву, сравнивая текущий элемент с кандидатом на максимум"

Поможет тут, как уже говорили, только практика.

согласен, "при разбиении задачи на подзадачи оная уже не кажется невыполнимой" .

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

Gozar 09.05.2012 09:31

Цитата:

Сообщение от melky
учиться до такой степени, что будет играть песни на автомате

Это 99% работы программиста.

Настоящего программиста врядли остановит то, что он никогда не будет выводить фракталы имеющие метрическую размеренность Хаусдорфа на canvas в соответствии с галактической долготой Длинного Трехкилопарсекового Рукава по отношению к M33.

Остальное в основном довольно занудное занятие(для непрограммистов) тыканья пальцами по клавишам.

Сначала придется много писать, затем много думать и мало писать :)

melky 09.05.2012 17:00

Цитата:

Сообщение от Gozar (Сообщение 173378)
Это 99% работы программиста.

Ну да, на работе ему говорят, что надо сделать, и он делает (ведь так?).

Но я имел в виду собственные проекты (самописный бложик, своя библиотека, et cetera) - там уже программист превращается в художника
Цитата:

Сообщение от Gozar (Сообщение 173378)
Настоящего программиста врядли остановит то, что он никогда не будет выводить фракталы имеющие метрическую размеренность Хаусдорфа на canvas в соответствии с галактической долготой Длинного Трехкилопарсекового Рукава по отношению к M33.


Когда-нибудь я буду это с такой же лёгкостью делать, как я сейчас по клавишам стучу :)

Цитата:

Сообщение от Gozar (Сообщение 173378)
Сначала придется много писать, затем много думать и мало писать

О ужас, это же весь план написания какого-либо скрипта... Реализация, рефакторинг... Только вначале забыли про проектирование

nerv_ 09.05.2012 17:27

Цитата:

Сообщение от Gvozd
Это моя ошибка, что вы подумали что я говорю о мужчине.

Видимо, если сейчас отвечу, то все окончательно запутается, но )))
Я не думал ни о мужчине(и правильно!), ни о женщине(хотя о женщинах следовало бы думать чаще :)), а всего лишь ссылался на термин, употребленный Вами :yes: . Вопросом "какого он (человек, скрывающийся за этим термином) пола", не задавался :)

samuel 09.05.2012 18:09

Цитата:

скажите что это за книги и курс?
курс от организации Специалист (на торренте скачал)
книга Javascript подробное руководство (зелененькая такая с носорогом)
в курсе специалист сказали что это единственная нормальная книга по этому языку
Цитата:

Очень хороший учебник + задачи у автора данного ресурса. Решай на здоровье.
спасибо по практикуюсь
Цитата:

Хочешь научиться писать на любом языке программирования, нужно написать на нём что-то сложное, что тебе кажется сложным. В результате поймешь как надо писать и будешь писать не задаваясь глупыми вопросами как.
как можно написать что-то сложное не умея писать ?
nasqad
нашол книгу по этой теме приэтом в 3-х томах надеюсь это мне поможет
з.ы.
про семечки не понял.
Цитата:

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

но это чисто ИМХО

B@rmaley.e><e
может подскажите какую нить литературку которая бы помогла в этом вопросе.
что нить в стиле теория програмированния.
Цитата:

он никогда не будет выводить фракталы имеющие метрическую размеренность Хаусдорфа на canvas в соответствии с галактической долготой Длинного Трехкилопарсекового Рукава по отношению к M33.
никогда никогда ???:cray: :cray: :cray:

вообще спасибо всем отписавшимся за советы.
попробую меньше думать и больше писать может из этого что нить и получится.
квстати у меня с хтмл\ксс такие же проблеммы были.
после пого как я выучил язык я по прежнему не умел представления о том как верстать сайты.
потом прочел книгу по веб дизайну где говорилось как пользоваться этими тегами и сразу все понял.
может кто посоветует хорошую книгу по яваскрипту для так сказать повышения квалификации.
или это не тот случай ???

Раед 09.05.2012 21:19

Цитата:

Сообщение от samuel
может кто посоветует хорошую книгу по яваскрипту для так сказать повышения квалификации.

Джон Рейсиг. JavaScript. Профессиональные приёмы программирования

Может поможет..

Gozar 09.05.2012 21:27

Цитата:

Сообщение от melky
О ужас, это же весь план написания какого-либо скрипта... Реализация, рефакторинг... Только вначале забыли про проектирование

Не так. Проектирование как раз - много думать. А сначала будет много писать и рефакторить(редко бывает много думать, скорее нудятина - последовательно сокращаем локацию ошибки и исправляем роясь в доках или пунктуация(подсветка не всегда канает)).

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

Цитата:

Сообщение от samuel
програмистов женщин не бывает

И чё теперь делать? Отлавливать их и сжигать как ведьм? Второй мой препод по пр-ю была женщина. Я ещё пару знаю, тоже женщины.

FINoM 10.05.2012 21:45

Цитата:

Сообщение от devote
джуквери отупляет, если уж хочется писать с использованием этой либы то нужно понимать то на чем пишешь. Потренируй голову пока без джуквери и прочих либ

Крайне не согласен. Используя jQuery можно без особых знаний написать кое-что полезное. Это очень важный вопрос начального этапа обучения. Без либ человек пишет, учится, но не видит результата, в итоге может тупо забить. Со временем, человеку станет интересно, как это работает, и он будет разбираться. Если интересно не станет, то он бы, в любом случае, не изучил голый DOM.

devote 10.05.2012 22:15

FINoM,
ну я не обобщаю конечно же свое мнение, а лишь ссылаюсь на тот факт, что таких работников полно, выучивших джуквери и мнящие себя профессионалами в программировании, а в реале ничего не знающие. А что самое досадное что их развелось столько, что реально достойных программистов среди них трудно отсеять, так как большинство изучив джуквери останавливают свое самообразование с мыслями о том что они достаточно знают и могут писать проекты.

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

Плюс ко всему прочему джуквери не даст понимания того как и какой браузер( в нашем случае ) работает, у каждого браузера свои тараканы, и даже изучая код джуквери не всегда поймешь и узнаешь о них.

Да это конечно не аргумент, ибо время идет, браузеры меняются и т.д. Но принцип я думаю ясен, что зная как сложить 2+2 не говорит о том как это работает и почему оно так работает.

Ssandr 02.09.2013 11:25

Если цель код ради кода (здешние гуру называют это настоящим программистом), то никак. В Js нет логики. Одно и тоже можно сделать 5 - 10 способами.
Устаревшая конструкция, которую допиливают. Когда это чудо придумали было счастье, что хоть модальное окно оживляло сайт.
Это смесь Java и Cи 1995 года, название - LiveScript. Для Netscape Communications.

Лучше всего работать на библиотеке jQ. Там есть готовые решения. 99,99% до тебя уже решили. Надо найти и допилить.

Думать на нем может только бездельник из местных гуру, да и то врет.

Все это мое мнение, никого не хотел оскорбить, все совпадения случайны, ни одно животное с форума не пострадало. А то все обидчивые:). Я оставил все настройки, можете писать в минус, меня развлекает.

kobezzza 02.09.2013 11:59

Ssandr, меня поражает твоя упоротость. Ну да, ок. По твоему мнению, кроме как возится с DOM в JS ничего делать нельзя, и по этому 99.99% задач решаются на твоей любимой JQ. То как на JQ например сделать такое? http://www.unrealengine.com/html5/ - это демка движка UnrealEngine 3 на JS, никаких jQ там нет. Как на JQ писать сервер? или ты не в курсе про ноду (http://nodejs.org/) ? Как работать со звуком в JQ, как работать с вебкамерой в JQ ? Как работать с потоками в JQ? Как писать шейдеры в JQ? JQ - это всего лишь работа с DOM, а это 10% работы в современном JavaScript, и я уже молчу про то, что в современных браузеров надобность в такой низкоуровневой библиотеке почти отсутствует, т.к. всё работает из коробки уже везде.

l-liava-l 02.09.2013 12:45

Ssandr,
По моему, ты просто пытаешься оправдать свою лень и неспособность нормально изучать js.

DjDiablo 02.09.2013 17:11

Ssandr Долбоёб...... ,терпение лопается.

Извинился же и молчал бы дальше как умный человек. Нет опять начал херню нести. Толи маразм.

jQuery только манипуляциями с дум занимается, всё остальное без jQuery делается обычно.

Вот к примеру googlemap api
https://developers.google.com/maps/d...tutorial?hl=ru
Он не имеет никого отношения к jQuery.

а вот проект с использованием google map и jQuery http://kolomene.com/
без знания javascript такой проект не напишешь

Или другой вариант
ты хочешь сделать браузерную игру или промосайт. Используем threejs который тоже никакого отношения к jQuery не имеет. http://threejs.org/

За приличный 3D промо сайт для компании автопроизводителя можно зарядить тысяч 400 и выше.

Может заказчику 2D игру надо ?
Нет проблем берём http://createjs.com/ или какой нибудь Cocos 2D и ваяем игру
Но тут тоже нет jQuery.

А что если постоянному клиенту моча в голову стукнуло и он захотел андроид и Iphone приложение.
Говно вопрос, берём http://phonegap.com/ и делаем приложение на HTML и JS.
Но у фонегап тоже есть свой API, увы опять не связанный с jQuery. Да и к скорости могут быть повышенные требования.

Или клиент хочет тесную интеграция с VK
Тогда смотрим VK.API http://vk.com/dev/apiusage
И вот чудо он опять ни какого отношения к jQuery не имеет.

С чем ещё можно интегрировать ?
C odnoklassninki, youtube, yandexmap, twitter,facebook и т.д. У них у всех есть API.

Этот список можно продолжать очень долго.

Tim 02.09.2013 19:13

Цитата:

Сообщение от Дзен-трансгуманист
Голосую за то, чтобы забанить этого пассажира Ssandr.

Поддержу. Даже не интересно с ним спорить. Максимус и то в 100 раз лучше тролль.

Tim 02.09.2013 19:30

kobezzza,
На чём игра сделана? Юнити?

devote 02.09.2013 19:37

Цитата:

Сообщение от Дзен-трансгуманист
Голосую за то, чтобы забанить этого пассажира Ssandr.

Цитата:

Сообщение от Tim
Поддержу. Даже не интересно с ним спорить.

Интересные вы конечно, банить за то что вы сами же кормите троля? Ну есть у человека свое мнение, ну НЕ совпадает оно с большинством.. Что ж сделаешь, но это же не говорит о том что человеку за его мнение нужно рот затыкать.

kobezzza 02.09.2013 20:00

Цитата:

Сообщение от Tim (Сообщение 270519)
kobezzza,
На чём игра сделана? Юнити?

С++ (Unreal Engine 3) + Сlang + Ecmascripten = ASM.js + WebGL , совместный проект Epic Games и Mozilla

Tim 02.09.2013 21:29

Цитата:

Сообщение от devote
это же не говорит о том что человеку за его мнение нужно рот затыкать

Я думал демократия как раз это и предполагает. Мнение большинства должно быть важнее.

Deff 02.09.2013 22:00

Цитата:

Сообщение от Ssandr
Думать на нем может только бездельник из местных гуру, да и то врет.


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

Цитата:

Сообщение от Tim
Я думал демократия как раз это и предполагает. Мнение большинства должно быть важнее.

:blink: Я думал как раз, что это диктатура пролетариата

Демократия позволяет отходит в сторону, без угрозы общественным институтам или прав личности, отличной от оппонента

Ксать Обама, - нобелиат мира настойчиво и демократично катит баллон на Сирию, вот думаю - Ирак это второй - али как?

Tim 02.09.2013 22:50

Цитата:

Сообщение от Deff
Демократия позволяет отходит в сторону

Не ври, это для капиталистов. В России не такая демократи! :)

Deff 03.09.2013 02:10

Цитата:

Сообщение от Дзен-трансгуманист
Честно говоря, не вяжется.

Да это прямой мой выпад насмешка - Обама - нобелевский лауреат премии Мира (гы, это реально так http://ru.wikipedia.org/wiki/Барак_Обама) и плюс он еще и за барбароссу в Сирии (Гы Гы)


Часовой пояс GMT +3, время: 13:30.