eugenk |
|
Темы:
1
Сообщения:
21
Участник с: 15 января 2015
|
palpalychlampslaveДа в конце концов какая разница какая jdk, вопрос почему только от root запускается, или так должно быть??? Скорее всего с правами какая-то хренотень. У меня например железное правило. Для каталога /opt прописываю права юзеру. И все тяжелые пакеты типа эклипса или JB ставлю именно туда. |
eugenk |
|
Темы:
1
Сообщения:
21
Участник с: 15 января 2015
|
palpalych Гляньте ************ . Там туева хуча книжек, причем многие на русском, и есть очень хорошие. И всё это на халяву ! Я веб-программирование изучал именно по книжкам оттуда. Однако не циклитесь на чтении. Если не будете сами стучать по клаве пальцами, ничему не научитесь. Прочел тут немного флейма про JB. Мне кажется не стоит с неё начинать. Лучше гляньте в сторону старого доброго эклипса. Единственный его недостаток - недопиленный плагин под typescript. Зато dart можете себе смело ставить. А он по-моему даже интереснее и перспективнее чем typescript. |
vdemin |
|
![]()
Темы:
54
Сообщения:
1615
Участник с: 24 января 2009
|
eugenk, На форуме допускаются ссылки только на легальные ресурсы. Отредактировал Ваше сообщение. |
nafanja |
|
![]()
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
eugenkПлохое правило!!! /opt совсем для других целей и ему не нужны чужие права. пользовательское ПО легко может жить например в ~/.local eugenkа вот про JB не надо... эклипс до него не дотягивает по многим параметрам! eugenkСтатическая типизация это конечно хорошо (сам начинал с паскаля), но комментарии лучше, кстати правильные комментарии хорошо понимает JB, а явную проверку типа во время выполнения можно и ручками сделать и кинуть исключение например.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
eugenk |
|
Темы:
1
Сообщения:
21
Участник с: 15 января 2015
|
Ну как бы ни насчет использования /opt, ни насчет продукции JB спорить не буду, ибо определённый смысл в Ваших словах есть. А вот насчет динамической типизации - не знаю... Не очень понял честно говоря, что значит "явную проверку типа во время выполнения можно и ручками сделать и кинуть исключение " ? Если Вам приходится что-то делать ручками, значит динамическая типизация не дает Вам абсолютно никаких преимуществ. Наоборот заставляет самому заниматься проверкой типов и писать для этого лишний код. Ну а исключение это просто капец. В реальном большом проекте никто не знает откуда Ваша функция будет вызвана, когда это произойдет и с какими параметрами. В итоге Вы можете очень тщательно протестировать какой-то кусок, а потом через несколько лет код напишет кто-то другой и получит именно это самое исключение. Причем уже в сданной в эксплуатацию системе и с неизвестными последствиями. А в С++ или в яве попытка сделать что-то не то будет отловлена во время компиляции. Разница есть ? Уж если я хочу чтобы как на питоне функция принимала параметры многих типов, я на С++ напишу кучу одноименных функций со всеми нужными типами параметров и буду их вызывать по одному и тому же имени. Синтаксически это будет выглядеть в точности как на питоне. При том что на питоне мне придется ручками проверять типы и в случае полного безумия параметров кидать исключение (как Вы сами писали), а на С++ всё это сделает компилятор и никаких исключений там не будет в принципе ! Так что удобнее и лучше ? В конце концов на С++ можно писать вообще без типов. Элементарно ! Тип у нас всего один - бинарный буфер. 4 байта длинна. 4 байта внутренний тип. Всё остальное данные. И пожалуйста пиши туда хоть строку, хоть число хоть черта лысого. Знай себе проверяй внутренний тип и обрабатывай данные. Ну и об исключениях не забывай, если пришло что-то совсем уж левое. Но почему-то на С++ так никто не делает. А на питоне пишут фактически именно так. Ну не странно ли устроен мир ? Не знаю, может я чего-то не вкуриваю, но мо-моему дела обстоят примерно так. |
palpalych |
|
![]()
Темы:
89
Сообщения:
1127
Участник с: 09 августа 2011
|
тема закрыта, как показала жизнь это все для ботаников, а мне нужно деньги зарабатывать а не сопли жевать
Арчи ~]$ ...as always want ready-made solutions that would make even tastier
|
nafanja |
|
![]()
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
eugenkкак это никто не знает? тот кто будет использовать функцию знает какие параметры и какого типа она принимает и что отдает!!! и поэтому проверка типа делается достаточно редко, в тех случаях когда параметр/переменная может быть разного но известного типа. eugenkвот нужно разделять интерпретируемые и компилируемые языки, интерпретируемым языкам статическая типизация в подавляющем большинстве случаев бесполезна. главное что бы IDE знал о типе для корректных подсказок. ;)
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
eugenk |
|
Темы:
1
Сообщения:
21
Участник с: 15 января 2015
|
nafanjaЭто в теории. На практике в крупном проекте обязательно найдется придурок, который сделает что-то не то. Да Вы сами запросто это сделаете после часиков 12 непрерывного топтания клавы когда надо срочно что-то сдавать, а ничего ещё не готово. И далеко не факт, что это самое исключение Вы словите во время тестирования. nafanjaНе знаю, мне кажется причины тут скорее исторические. Ничего не мешает интерпретируемому языку иметь статическую типизацию хотя бы опциональную. Тем более все эти языки сейчас компилируются в промежуточный код, и чисто интерпретирующих языков нет. Так что проверку типов организовать было бы легко. Но с одной стороны начинались все эти языки с бейсика и никогда не предназначались для крупных проектов. С другой - без проверки типов все-таки легче сделать сам интерпретатор. С третьей стороны выросло целое поколение кодеров, считающих мозгофакство с динамической типизацией нормой. Правда к счастью в последнее время что-то начинает меняться и до людей начинает доходить. |
eugenk |
|
Темы:
1
Сообщения:
21
Участник с: 15 января 2015
|
palpalychНе столь однозначный тезис кстати. Я вот этим и зарабатываю. А вообще ремесло программиста штука очень надежная. Грянет кризис, кучу народа который сейчас сидит по офисам и в отпуск катается в Турцию пойдут улицы подметать. Программистам их судьба не грозит. Компы с нами уже навсегда. И всегда кому-то надо будет их программировать. Так что если есть такая возможность и желание - осваивайте сейчас. |
nafanja |
|
![]()
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
eugenkэто больше на кеширование походит. код "компилируется" вовремя выполнения. поэтому проверка типов и проверяется во время выполнения и в тех местах где нужно. а до выполнения типы проверяет либо программист либо умная IDE. а вообще статическая типизация ни как не связана с логической нужностью и не заменимостью, а связана с практической - выделение памяти, компилятору это нужно знать. eugenkнайдется не спорю, но в умной IDE есть хорошие инспекторы которые если найдут ошибку выведут предупреждение перед коммитом в систему контроля версий. (та же предварительная компиляция)
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |