Просьба откликнуться: Хочу стать Web-программистом

palpalych
lampslave
Никак не ставил, скачал с официального сайта и запустил. PyCharm сразу завёлся, а IDEA пришлось помогать:
IDEA_JDK=/usr/lib/jvm/java-7-openjdk/bin/java _path_/bin/idea.sh
(нагуглено тут: http://lists.altlinux.org/pipermail/sisyphus/2010-April/347064.html)
Да в конце концов какая разница какая jdk, вопрос почему только от root запускается, или так должно быть???

Скорее всего с правами какая-то хренотень. У меня например железное правило. Для каталога /opt прописываю права юзеру. И все тяжелые пакеты типа эклипса или JB ставлю именно туда.
palpalych
Посоветуйте книжку по:

1.HTML5
2.CSS
3.Java

понятно что можно читать в интернете, но у печатного издание есть свои преимущества...

Гляньте ************ . Там туева хуча книжек, причем многие на русском, и есть очень хорошие. И всё это на халяву ! Я веб-программирование изучал именно по книжкам оттуда. Однако не циклитесь на чтении. Если не будете сами стучать по клаве пальцами, ничему не научитесь. Прочел тут немного флейма про JB. Мне кажется не стоит с неё начинать. Лучше гляньте в сторону старого доброго эклипса. Единственный его недостаток - недопиленный плагин под typescript. Зато dart можете себе смело ставить. А он по-моему даже интереснее и перспективнее чем typescript.
eugenk,
На форуме допускаются ссылки только на легальные ресурсы. Отредактировал Ваше сообщение.
eugenk
У меня например железное правило. Для каталога /opt прописываю права юзеру. И все тяжелые пакеты типа эклипса или JB ставлю именно туда.
Плохое правило!!! /opt совсем для других целей и ему не нужны чужие права.
пользовательское ПО легко может жить например в ~/.local

eugenk
Прочел тут немного флейма про JB. Мне кажется не стоит с неё начинать. Лучше гляньте в сторону старого доброго эклипса.
а вот про JB не надо... эклипс до него не дотягивает по многим параметрам!

eugenk
Нах javascript, php, python и т.п. Попытался их освоить. Жопа полная. Написать что-то вменяемое свыше 2-5 тысяч строк абсолютно нереально. Причина - отсутствие статической типизации, даже опциональной. В итоге код превращается в мешанину, в которой не может разобраться ни среда разработки ни сам автор через 3 месяца. Поэтому никогда не пользуйтесь языками с утиной типизацией.
Статическая типизация это конечно хорошо (сам начинал с паскаля), но комментарии лучше, кстати правильные комментарии хорошо понимает JB, а явную проверку типа во время выполнения можно и ручками сделать и кинуть исключение например.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Ну как бы ни насчет использования /opt, ни насчет продукции JB спорить не буду, ибо определённый смысл в Ваших словах есть. А вот насчет динамической типизации - не знаю... Не очень понял честно говоря, что значит "явную проверку типа во время выполнения можно и ручками сделать и кинуть исключение " ? Если Вам приходится что-то делать ручками, значит динамическая типизация не дает Вам абсолютно никаких преимуществ. Наоборот заставляет самому заниматься проверкой типов и писать для этого лишний код. Ну а исключение это просто капец. В реальном большом проекте никто не знает откуда Ваша функция будет вызвана, когда это произойдет и с какими параметрами. В итоге Вы можете очень тщательно протестировать какой-то кусок, а потом через несколько лет код напишет кто-то другой и получит именно это самое исключение. Причем уже в сданной в эксплуатацию системе и с неизвестными последствиями. А в С++ или в яве попытка сделать что-то не то будет отловлена во время компиляции. Разница есть ? Уж если я хочу чтобы как на питоне функция принимала параметры многих типов, я на С++ напишу кучу одноименных функций со всеми нужными типами параметров и буду их вызывать по одному и тому же имени. Синтаксически это будет выглядеть в точности как на питоне. При том что на питоне мне придется ручками проверять типы и в случае полного безумия параметров кидать исключение (как Вы сами писали), а на С++ всё это сделает компилятор и никаких исключений там не будет в принципе ! Так что удобнее и лучше ? В конце концов на С++ можно писать вообще без типов. Элементарно ! Тип у нас всего один - бинарный буфер. 4 байта длинна. 4 байта внутренний тип. Всё остальное данные. И пожалуйста пиши туда хоть строку, хоть число хоть черта лысого. Знай себе проверяй внутренний тип и обрабатывай данные. Ну и об исключениях не забывай, если пришло что-то совсем уж левое. Но почему-то на С++ так никто не делает. А на питоне пишут фактически именно так. Ну не странно ли устроен мир ? Не знаю, может я чего-то не вкуриваю, но мо-моему дела обстоят примерно так.
тема закрыта, как показала жизнь это все для ботаников, а мне нужно деньги зарабатывать а не сопли жевать
Арчи ~]$ ...as always want ready-made solutions that would make even tastier
eugenk
В реальном большом проекте никто не знает откуда Ваша функция будет вызвана, когда это произойдет и с какими параметрами.
как это никто не знает? тот кто будет использовать функцию знает какие параметры и какого типа она принимает и что отдает!!!
и поэтому проверка типа делается достаточно редко, в тех случаях когда параметр/переменная может быть разного но известного типа.
eugenk
А в С++ или в яве попытка сделать что-то не то будет отловлена во время компиляции.
вот нужно разделять интерпретируемые и компилируемые языки, интерпретируемым языкам статическая типизация в подавляющем большинстве случаев бесполезна. главное что бы IDE знал о типе для корректных подсказок. ;)
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja
как это никто не знает? тот кто будет использовать функцию знает какие параметры и какого типа она принимает и что отдает!!!
и поэтому проверка типа делается достаточно редко, в тех случаях когда параметр/переменная может быть разного но известного типа.
Это в теории. На практике в крупном проекте обязательно найдется придурок, который сделает что-то не то. Да Вы сами запросто это сделаете после часиков 12 непрерывного топтания клавы когда надо срочно что-то сдавать, а ничего ещё не готово. И далеко не факт, что это самое исключение Вы словите во время тестирования.
nafanja
вот нужно разделять интерпретируемые и компилируемые языки, интерпретируемым языкам статическая типизация в подавляющем большинстве случаев бесполезна. главное что бы IDE знал о типе для корректных подсказок. ;)
Не знаю, мне кажется причины тут скорее исторические. Ничего не мешает интерпретируемому языку иметь статическую типизацию хотя бы опциональную. Тем более все эти языки сейчас компилируются в промежуточный код, и чисто интерпретирующих языков нет. Так что проверку типов организовать было бы легко. Но с одной стороны начинались все эти языки с бейсика и никогда не предназначались для крупных проектов. С другой - без проверки типов все-таки легче сделать сам интерпретатор. С третьей стороны выросло целое поколение кодеров, считающих мозгофакство с динамической типизацией нормой. Правда к счастью в последнее время что-то начинает меняться и до людей начинает доходить.
palpalych
тема закрыта, как показала жизнь это все для ботаников, а мне нужно деньги зарабатывать а не сопли жевать
Не столь однозначный тезис кстати. Я вот этим и зарабатываю. А вообще ремесло программиста штука очень надежная. Грянет кризис, кучу народа который сейчас сидит по офисам и в отпуск катается в Турцию пойдут улицы подметать. Программистам их судьба не грозит. Компы с нами уже навсегда. И всегда кому-то надо будет их программировать. Так что если есть такая возможность и желание - осваивайте сейчас.
eugenk
Тем более все эти языки сейчас компилируются в промежуточный код, и чисто интерпретирующих языков нет. Так что проверку типов организовать было бы легко.
это больше на кеширование походит. код "компилируется" вовремя выполнения.
поэтому проверка типов и проверяется во время выполнения и в тех местах где нужно. а до выполнения типы проверяет либо программист либо умная IDE.

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

eugenk
На практике в крупном проекте обязательно найдется придурок, который сделает что-то не то. Да Вы сами запросто это сделаете после часиков 12 непрерывного топтания клавы когда надо срочно что-то сдавать, а ничего ещё не готово.
найдется не спорю, но в умной IDE есть хорошие инспекторы которые если найдут ошибку выведут предупреждение перед коммитом в систему контроля версий. (та же предварительная компиляция)
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
 
Зарегистрироваться или войдите чтобы оставить сообщение.