
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.21] |
![]() |
|
Страницы: (17) « Первая ... 5 6 [7] 8 9 ... 16 17 все ( Перейти к последнему сообщению ) |
![]() |
Сообщ.
#91
,
|
|
Цитата MyNameIsIgor @ Ты его приводишь в пример уже пару-тройку лет, если заходит разговор о работе на CL Дык я и списки LW и Franz приводил, но вы продолжаете спрашивать. Цитата MyNameIsIgor @ Меж тем работодатель этого товарища - EMC - набирает пачками программистов на C++, Java и там ещё много чего. Конечно, их нужно много, такие языки. Однако это не означает, что он еще недавно не юзал успешно CL в своей профессиональной деятельности. Добавлено Насчет оберона и чистого паскаля не знаю, но Делфи, как это ни странно, пользуются. Но разве для оберона и паскаля пишут сейчас библиотеки? Как будто иметь мерседес S-класса — выгодно. Молодец |
Сообщ.
#92
,
|
|
|
Цитата korvin @ Конечно, их нужно много, такие языки. Ты хочешь сказать, что разница в количестве программистов на этих языках диктуется исключительно разницей выразительностью языков? ![]() |
![]() |
Сообщ.
#93
,
|
|
Цитата korvin @ Насчет оберона и чистого паскаля не знаю, но Делфи, как это ни странно, пользуются. Экзотикой пользуются либо по историческим причинам, либо чтобы "подсадить клиента на иглу". Яркий пример этому студия Лебедева, которая делает сайты на каком-то там парсере ![]() Это просто гениальная придумка Лебедева ![]() Другой пример - контора в котороя сейчас работаю. Половина кода была написана 20 лет тому назад на smalltalk'e и еще до недавнего времени набирали smalltalk программистов. И только в том году решили начать постепенно переписывать старые модули на c#. |
Сообщ.
#94
,
|
|
|
Цитата korvin @ Делфи, как это ни странно, пользуются. Вот так вот ненавязчиво тема превратилась в очередную "Delphi vs. ..." |
![]() |
Сообщ.
#95
,
|
|
Цитата MyNameIsIgor @ Ты хочешь сказать, что разница в количестве программистов на этих языках диктуется исключительно разницей выразительностью языков? Нет, не хочу. Цитата Fester @ "подсадить клиента на иглу" Для этого и экзотика-то не особо нужна. Цитата Fester @ И только в том году решили начать постепенно переписывать старые модули на c#. Почему все же решили? Почему так поздно решили? Через лет пять-десять M$ сменит «основной» язык, опять переписывать будете? |
Сообщ.
#96
,
|
|
|
Цитата korvin @ Нет, не хочу. Ну, извини, тогда эти слова не к месту. |
Сообщ.
#97
,
|
|
|
Цитата applegame @ Цитата sergioK @ Меня пытаються убедить в чудо компайлере который догадаеться что у ресурса есть метод закрывающий ресурс, и сможет его вызвать Цитата sergioK @ Шозабред? Значит в чудо-компилятор, который должен догадываться о методах для закрытия ресурса ты не веришь, а в магические чудо-IDE обладающие такими возможностями таки веришь. если не компайлер то IDE, look attachment, с опцией warning as error хотя он тоже не все могущь ![]() Впрочем начинающие недопрограммисты часто путают IDE и компилятор. ![]() Плохо наверно мысль излагаю, ну и файл приатаченный ты не смотрел естесно ![]() У меня в IDE есть около сотни опций (warning as error) какие из них ловит компилятор и какие сама IDE (статический анализ) Я не знаю, в документации нечего толком не нашел , Это то что Я сказал , мне казалось что это очевидно но а принципе мне без разницы главное результат тот что я хотел это раз Один вид ошибок " суммарной компиляции " это resource leak.У стандртных обькетов есть метод close , вызов которого прописан разработчиками , не тоесть "компилятор сам подставит". в том же basic_ifstream вызоветься close потому что разработчики класса прописали его вызов , а не чудо компилятор о прочел их мысли ![]() т,е когда говорят "компилятор сам подставит " в моем понимании есть две крайности либо говорящий подразумевает что это и ежу понятно, либо несет херню о которой сам не догадыветься , среднего нет, кто из пишущих в какой категории через веб понять не всегда просто, это два Теперь если этот метод другой или нужно перед вызовом close сделать что-то еще то написать ты должен это сам(способов реализации много) т,е компилятор не телепат ![]() в версии 7 try(...) и для тех кто implement closable ,и как праильно сказал D_KEY можно свой обьект сделать таким , только он не учел что работаешь в команде и рефактить код не всегда просто , в С++ все тоже самое только есть деструктор, это три , Так кто там у нас чего путает и с чем ![]() ![]() |
![]() |
Сообщ.
#98
,
|
|
Цитата MyNameIsIgor @ Ну, извини, тогда эти слова не к месту. Почему же? Ты ж не работаешь в той компании, откуда тебе знать, почему они набирают пачки? оффтоп З.Ы. В какой теме на этом форуме будет корректней всего задать вопрос про отладку конкурентных приложений (безотносительно языка)? |
Сообщ.
#99
,
|
|
|
Цитата korvin @ Почему же? Ты ж не работаешь в той компании, откуда тебе знать, почему они набирают пачки? Во-первых, следуя такой логике твои слова опять таки не уместны, ибо ты не там работаешь и такие выводы делать не можешь. Во-вторых, кое-какой инфой о наборе по крайне мере в Питере я обладаю. |
![]() |
Сообщ.
#100
,
|
|
sergioK, как ты не можешь понять такую простую вещь. Любое пользование любым ресурсом правильно, пока подчиняется конкретным контрактам, и неправильно, если оно их нарушает. Контрактов даже для одного и того же ресурса может существовать бесконечное множество, и в принципе невозможно им всем научить что-то статичное, будь то компилятор, статический анализатор или IDE. Новым контрактам по-любому придётся научить и указать, когда и где применять. Внимание, вопрос: где и как это сделать наиболее просто? В компиляторе? В языке? В IDE? Та в классе же! Во-первых потому, что неважно, писать ли конструктор/деструктор для RAII-класса или скрипт для IDE, писать всё равно надо. Во-вторых, используя класс, неправильно его использовать просто не получится. В отличие от галочек в параметрах проекта или IDE.
|
Сообщ.
#101
,
|
|
|
Цитата Qraizer @ sergioK, как ты не можешь понять такую простую вещь. Любое пользование любым ресурсом правильно, пока подчиняется конкретным контрактам, и неправильно, если оно их нарушает. Контрактов даже для одного и того же ресурса может существовать бесконечное множество, и в принципе невозможно им всем научить что-то статичное, будь то компилятор, статический анализатор или IDE. Новым контрактам по-любому придётся научить и указать, когда и где применять. Внимание, вопрос: где и как это сделать наиболее просто? В компиляторе? В языке? В IDE? Та в классе же! Во-первых потому, что неважно, писать ли конструктор/деструктор для RAII-класса или скрипт для IDE, писать всё равно надо. Во-вторых, используя класс, неправильно его использовать просто не получится. В отличие от галочек в параметрах проекта или IDE. Я это понимал когда еще студентом был, А вот фразу типа "компайлер сам вызовет нужный метод " и фраза эта не моя, Я не понимаю, без нее не стал бы и пяти минут тратить на это тему ![]() |
Сообщ.
#102
,
|
|
|
Цитата sergioK @ в версии 7 try(...) и для тех кто implement closable ,и как праильно сказал D_KEY можно свой обьект сделать таким , только он не учел что работаешь в команде и рефактить код не всегда просто , в С++ все тоже самое только есть деструктор И AutoCloseable в Java и IDisposable в C# - это нормальная практика, которой должны следовать программисты и команды в целом. Я уже не говорю о C++, где не закрыть в деструкторе ресурс, которым владеешь, не просто дурной тон, а жуткая ошибка, за которую я даже не знаю, что с тобой сделают ![]() Да, в Java очень давно используется просто finally(кстати, замена тривиального кода с освобождением ресурса в finally на try-with-resources может вполне осуществлять IDE в рамках авторефакторинга), но никакой проблемы с тем, чтобы постепенно перейти на более логичную концепцию я не вижу. Тоже самое касается питона или (наверное) шарпа. |
![]() |
Сообщ.
#103
,
|
|
sergioK, а что в этой фразе не так?
Добавлено Ты заканчиваешь работу с ресурсом, компилятор сам в полном соответствии с изученным контрактом вызывает метод его освобождения. Какие проблемы-то? Зачем варнинги, если и дураку будет понятно, что тут ошибка, и её надо исправить, тем более программер даже объяснил, как. |
![]() |
Сообщ.
#104
,
|
|
Цитата MyNameIsIgor @ Во-вторых, кое-какой инфой о наборе по крайне мере в Питере я обладаю. А при чем тут Питер? |
Сообщ.
#105
,
|
|
|
Цитата D_KEY @ Цитата sergioK @ в версии 7 try(...) и для тех кто implement closable ,и как праильно сказал D_KEY можно свой обьект сделать таким , только он не учел что работаешь в команде и рефактить код не всегда просто , в С++ все тоже самое только есть деструктор И AutoCloseable в Java и IDisposable в C# - это нормальная практика, которой должны следовать программисты и команды в целом. Я уже не говорю о C++, где не закрыть в деструкторе ресурс, которым владеешь, не просто дурной тон, а жуткая ошибка, за которую я даже не знаю, что с тобой сделают ![]() Да, в Java очень давно используется просто finally(кстати, замена тривиального кода с освобождением ресурса в finally на try-with-resources может вполне осуществлять IDE в рамках авторефакторинга), но никакой проблемы с тем, чтобы постепенно перейти на более логичную концепцию я не вижу. Тоже самое касается питона или (наверное) шарпа. В С++ это жуткая ошибка а жаве или C# менее жуткая ![]() Ну все подряд делать closeable только ради try-with-resource это перегиб , Qraizer Просто никогда не слышал что бы так говорили, И все |