Я программист и у меня пригорело.. 1. Не основы программирования, а основы JS. 2. Вы серьёзно? Изучать новичку с не типизированного языка? А если человек потом захочет перейти на c++, вы понимаете как ему будет не понятно? 3. В JS решаются баги неделю? У меня рекорд за жизнь 5 часов на один баг и то на c++ и то был глуп.
Просто вспомнил один забавный баг который мне однажды попался, никак не связан с темой типика. Тестировщик из индии завел баг на то, что при нажатии на кнопку увеличения громкости на телефоне, он (телефон) иногда выключается, приложил логи, дампы и всё такое, вобщем завел багу как пологается, не придирёшься. Судя по логам ничего не происходило, просто логи внезапно обрывались, и дамп был нормальным, короче сутки я пытался её воспроизвести и таки не смог. Попросил его прислать видео, где он нажимает на кнопку. Как оказалось, конкретно эта девелоперская модель телефона имела дефект корпуса из за которого при сильном нажатии на кнопку громкости под определенным углом - размыкались контакты батареи :) К релизу это конечно же было исправлено.
Да, есть баги которые, лежат не там, где думаешь) Когда писал API библиотеку, при её использование было что, что-то работает криво, сразу паранойя берет вверх и лезешь дебажить ядро, а баг оказывается на поверхности =/
Четвертый раз пытаюсь поставить плюс этому комменту, пробовал даже перезапускать браузер, но почему то никак не получается XD Век живи, век борись с багами...
Странно, а в моём js есть типы... btw, в одной из лучших книг по программированию учат на схеме, а питон считается лучшим языком для обучения. Динамическая типизация никак не мешает обучаться программировать. А зачастую - помогает. И зачем человеку хотеть перейти на C++ - непонятно. Там подводных камней и недостатков куда больше, чем в js.
обучения на языках без типизации уводит подавана в страну говнокода и кучей нелепых ошибок, которые остафигиваешь за этими засранцами в переданном тебе проекте убирать
То, что в строго типизированных языках говнокода меньше не значит, что типизированный язык уводит куда-то в правильную сторону - на нем тупо код написать сложнее, поэтому говнокод обычно умирает не родившись, вот и все. Говнокодер в конечном итоге плюет на все и уходит в пхп, который, как губка, впитывает всех говнокодеров. В общем типизированный язык на программиста в плане красоты кода влияет слабо.
1. А как можно изучать основы программирования не используя яп? Писал бы на примере питона вы бы сказали "Не основы программирования, а основы Python"? 2. Да, я серьезно. В прошлом посте в комментах обсуждалось много раз 3. Естественно я утрировал, но предупредить, что поиск багов может занять большое время я был просто обязан.
Тогда открою вам тайну, JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам. В нём слабая типизация, автоматическое управление памятью. Возникает вопрос, нафиг его изучать первым языком? В одном паскале раскрываются темы: памяти, файлов, массивов, ООП, основы графики (pascal abc), после можно перейти на дельфи и создавать более серьёзные системные решения или же c++ или же C#, Java. Неет, давайте изучим JS, скриптовый язык, для браузеров, который понабрал фигову кучу всякой фигни, от других ЯП, серьёзно? Тут даже нет потока вывода данных...
Действительно, зачем учить один из самых популярных языков в мире, который будет актуален ещё много лет. Давайте учить старьё, которое в реальной жизни не используется, но которому нас по-привычке учили в детстве. А потом перейдём на "серьёзные решения", которыми пользуются сейчас только по старой памяти. Ты видел, сколько делфи нынче стоит? http://store.embarcadero.ru/catalog/rubric/24
Стоит ли учить C/C++ со слабой типизацией и ручным управлением памятью, особенно если не планируешь по жизни писать низкоуровневые штуки и движки игр? Да, узкие места в проектах обычно реализуют на C/C++, но потом обычно пишут биндинги или прикручивают скриптовой язык, чтобы не иметь себе мозг с низкоуровневыми вещами, а спокойно разрабатывать логику игр, например, или заниматься научными расчётами.
А на js уже давно пишут большие приложения, достаточно зайти в магазин хрома. Есть и офисный пакет (гугл документы), и куча игр и графические редакторы и ещё много чего. А с появлением node.js можно ещё и на десктопе писать приложения. https://atom.io/ написан на coffescript (который всё равно компилится в js). А ещё можно писать кроссплатформенные мобильные приложения (cordova). Хотя это не отменяет того факта, что в js много говна, но где его мало?
Какая разница, на чём учиться? Главное - как. Изучать, как работают алгоритмы можно на любом языке. Научиться их правильно применять - тоже. Писать код бездумно, не понимая что происходит, можно и на паскале с си.
Что вы мне тыкаете коммерческую цену дельфи, её закупают фирмы, а не лично я. Я спокойной для себя могу скачать эту IDE среду и писать на ней программы без ограничений. Зачем вы устраиваете "холивар" о том, какой яп стоит учить, а какой нет, а далее начинаете бесконечный спор о том, какой яп лучше. С++ реализует не узкие места, а скорость и он уделывает все ваши япы. Я вообще не пойму, вы сравниваете скриптовый язык, с компилируемым и акцент ставите на том что на JS пишут огромные приложения? Чта о.О И какая разница на чём учиться? Давайте писать на Brainfuck, потому что какая разница? В нём по крайне мере есть поток вывода данных =)
писать на ней программы без ограничений Бесплатно можно делать только 32-х разрядные приложения под винду. Вот это свобода, вот это возможности!
Зачем вы устраиваете "холивар" о том, какой яп стоит учить, а какой нет, (1 сообщение назад) Возникает вопрос, нафиг его изучать первым языком? Так ты тоже самое делаешь, я тоже хочу.
С++ реализует не узкие места, а скорость Оговорился же
и он уделывает все ваши япы Какие наши? Фортран, например, быстрее. C++ быстрый, пока не создаёшь в нём много объектов и используешь ООП-часть не очень активно. А потом он знатно проседать начинает. Он быстрый, если писать на нём, как на C (хотя тогда легче взять просто C)
Я вообще не пойму, вы сравниваете скриптовый язык, с компилируемым и акцент ставите на том что на JS пишут огромные приложения? Нет, я акцент делаю на том, что пора уже перестать жить годом так 2005, и перестать считать, что js - это только чтобы интерактивности добавить. Сейчас это довольно быстрый высокоуровневый язык, который очень востребован на рынке и на котором можно делать не только анимации на страничке. И учиться на нём вполне нормально. Автоматическое управление памятью - это не минус. Слабая типизация - это минус, да, но в том же C++ тоже слабая (и память утекает легче). Чего же тогда его советовать?
Бесплатно можно делать только 32-х разрядные приложения под винду. Вот это свобода, вот это возможности! Пользуюсь крякнутым XE6 несколько лет, пишу себе программы. Под этим я и имел ввиду: "без ограничений". Если нужно использовать её в коммерции, то покупают лицензии. x64 под дельфи: http://www.youtube.com/watch?t=133&%3Bv=fVBHs8WuEGg Возникает вопрос, нафиг его изучать первым языком? Так ты тоже самое делаешь, я тоже хочу. Неет, вы что-то путаете, я начал спор именно о том, какой первый язык стоит изучать и это явно не JS, причины уже я приводил выше. И да, я изучал в своей жизни JS как 7й ЯП, хотя что там изучать, он С подобный скриптовый язык, для проверки форм... Чего же тогда его советовать? Опять же, я не советую изучать c++, я лишь показал, что его можно изучить как одно из направлений и уже выбрать нужный для себя ЯП. Я лишь не советую начинать изучать программирование с JS. Просто непонятно, зачем поливать говном JS Не поливал, но раз уж пошло: 1. Может работать на различных браузерах по разному. 2. Интерпритатор JS съедает очень много памяти. 3. Выше приводил уже недостатки.
И вообще JavaScript в 99% случаев нужен и уместен только для проверки данных форм перед их отправкой на сервер. Зачем его изучать как первый яп, не понятно.
И вообще JavaScript в 99% случаев нужен и уместен только для проверки данных форм перед их отправкой на сервер. Зачем его изучать как первый яп, не понятно.
А как же анимации, паралаксы и прочие приблуды?))))
А на js уже давно пишут большие приложения, достаточно зайти в магазин хрома. Есть и офисный пакет (гугл документы), и куча игр и графические редакторы и ещё много чего. А с появлением node.js можно ещё и на десктопе писать приложения. https://atom.io/ написан на coffescript (который всё равно компилится в js). А ещё можно писать кроссплатформенные мобильные приложения (cordova). Хотя это не отменяет того факта, что в js много говна, но где его мало?
Да ну прям таки пишут. Если нужно что-то сделать быстро, то могут нашлепать пакетов и на кордове, но никогда ее не будут использовать для более серьезных вещей. Нод для десктопа использовать будут не скоро, из-за проблемы утечек памяти как раз, целые горы статей можно найти про это. Ну и про качество дополнений в хроме можно просто слагать легенды. Во первых не все оптимально используют ресурсы ПО, во вторых, там замечены дополнения с вредоносным кодом(статью на хабре найдешь сам).
Какая разница, на чём учиться? Главное - как.
Да разница есть, особенно заметна при переходе на более строго типизированные ЯП.
Правильно знать и то и другое, если вы не умеете управлять памятью динамического массива, то какой вы нахуй программист? Тупо программы будут работать с ошибками переполнения памяти. Я был бы счастлив, если бы мне разжевали тему управления памятью, в чем разница между статической и динамической, преподнесли всё это в виде c++ в коде, в виде уже запущенной программы, когда её дебажут и в виде дизассемблированного кода. Таких статей мало или вообще нет.
1. Так вы не на пикабу это выкладывайте, а на тематические ресурсы) 2. Писать можно потихоньку. Я свой первый пост пилил чуть ли не месяц, когда минутка выдавалась на работе. 3. А если не секрет, каким? Действительно интересно.
Спасибо) Этап кстати конкурса окончен, из 1268 проектов, жюри оценила проект на 81 балл из 100 и он занял 6е место в СНГ, 5е место по стране) позже поеду на финал) Из Белоруссии парень занял 1е место с 90 баллами, в принципе не далеко ушел)
Проще понимать "как это работает", приведение типов ведет к ошибкам как явным так и неявным, что сказывается не только на отладке, но и на понимании работы программы в целом.