S>>По твоему я на вопрос не ответил? P>Ну посмотри, что я спрашивал. Повторяю: P>Для тебя ошибка и исключение — одно и то же?
Исключение — реакция на ошибку. Ты это хотел услышать?
S>>Ты утверждаешь что там где сборщик мусора — там всё ок. Следовательно плючы не ок. P>Я утверждаю, что сборщик мусора — инструмент, полезный при написании такого софта. Пример с утечками памяти, кстати, реальный, я приводил. Сборщик мусора позволяет сосроедоточиться прежде всего на задаче.
Ногу себе можно отстрелить где угодно. И жаба течёт, и шарп, и go, и питон
Так что везде надо внимательным быть. А раз так, то и плюсы можно брать.
S>>Тогда либо соединения не будет, либо ты перехватишь исключение внешней либы в в том контексте где у тебя будет возможность освободить память. P>А если ты перехватываешь исключение где-то выше?
ССЗБ
P>Потому что так, где оно возникло, непонятно, что с ним делать?
Всё бывает в первый раз, да. Главное какие выводы селать и что написать чтобы потом такого не было.
P>Такое случается сплошь и рядом. Например, исключение пришло из библиотечного кода. Авторы библиотек резонно считают, что пользователи лучше их знают, что делать с исключениями в своем коде.
А догадаться вызов библиотечного кода обложить trycatch по месту вызова, в контексте?
S>>Сборщик мусора чинит системные вызовы? P>Инфраструктура, для определенности, .NET оборачиввает большинство системных вызовов так, что они делаются безопасно, расстрелов памяти не случается. Во всяком случае, если я не использовал в коде unsafe, то расстрелов не было.
А нука поподробнее. Что ты расстреливал, где текло?
Здравствуйте, Sheridan, Вы писали:
S>Нода тут как раз при чём. Это лишняя шестерёнка. Лишний элемент системы. Можно легко обойтись без ноды.
Нода не надежна?
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>>>Все что нужно знать про полезность твоего кода. S>>А, у тебя качество кода измеряется в лайках? НС>Не качество, а полезность.
А при чём тут полезность если весь срач про качество? Было бы 100500 лайков — код сразу был стал качественным? Так сейчас происходит?
Здравствуйте, Farsight, Вы писали:
S>>Нода тут как раз при чём. Это лишняя шестерёнка. Лишний элемент системы. Можно легко обойтись без ноды. F>Нода не надежна?
Система включающая в себя XXX менее надёжна, чем система без XXX.
Здравствуйте, Sheridan, Вы писали:
I>>Попробуй выяснить, по какой причине складывается такая ситуация. Из предыдущих твоих выступлений стало понятно, что ты видишь следующие причины I>>1. тупой заказчик — буквально твои слова I>>2. тупой программист S>Ой, неужели бабло? Да не может быть... S>Это происходит из за совокупности "ой ну всё же работает, трогать не надо", "за это не платят", "на это нет времени". S>Первое — глупость, второе — бабло, третье...
И снова от тебя ни одного конструктивного аргумента.
Здравствуйте, Sheridan, Вы писали:
НС>>Не качество, а полезность. S>А при чём тут полезность
При том что результат твоей бурной деятельности бесполезен.
S> если весь срач про качество?
Нет, это ты пытаешься упорно перевести срач исключительно на качество, игнорируя тот факт что код у нормальных разработчиков не самоценен.
S> Было бы 100500 лайков — код сразу был стал качественным?
Здравствуйте, Ikemefula, Вы писали:
S>>Это происходит из за совокупности "ой ну всё же работает, трогать не надо", "за это не платят", "на это нет времени". S>>Первое — глупость, второе — бабло, третье...
I>И снова от тебя ни одного конструктивного аргумента.
Кроме того что ты исключил из цитаты?
Matrix has you...
Re[31]: Какой язык стоит выбрать для написания микросервисов
Здравствуйте, Sheridan, Вы писали:
S>Я не спорил. Я утверждал что на плюсах код не зависящий от внешних данных позволял бы при тех-же условиях держать больше работающих потоков. Как следствие — может обслужить больше клиентов.
А на ассемблере он был бы еще сильно компактнее?
Сегодня намного проще и дешевле пару-тройку серверов в ферму добавить с той же целью.
S>Исключение — реакция на ошибку. Ты это хотел услышать?
Нет, не это.
S>Ногу себе можно отстрелить где угодно. И жаба течёт, и шарп, и go, и питон S>Так что везде надо внимательным быть. А раз так, то и плюсы можно брать.
Ты бы читал иногда, что тебе пишут. Я сказал: инструмент. Понимаешь? Инструмент. Знаешь, что такое инструмент?
Что системы со сборкой мусора могут течь, я знаю не только в теории. Но в таких системах лучше, когда сборщик есть, чем когда его нет.
S>ССЗБ
Ловить исключение всегда там, где оно выброшено — это просто PL/1 какой-то. В современных языках раскрутку стека просто так придумали? У тебя в месте выброса исключения часто просто нет информации для его обработки.
S>Всё бывает в первый раз, да. Главное какие выводы селать и что написать чтобы потом такого не было.
Какие выводы, В точке выброса исключения у теба нет всей информации для его обработки. Так часто бывает.
S>А догадаться вызов библиотечного кода обложить trycatch по месту вызова, в контексте?
А ты пробовал с таким кодом работать. Ну сделал ты try/catch, дальше что? Кинуть исключение выше по стеку? В точке выброса неясно, что с ним делать.
S>А нука поподробнее. Что ты расстреливал, где текло?
Ну, в фортрановском коде я расстреливал. Там вообще весело было. Я переносил проект с ЕС на PC. И заметил, что программа работает, не падает, но на выходе выдает ересь. Оказалось, при переходе через границу сегмента адрес сегмента не менялся, только смещение. Сооьветственно, массив чисел затирал часть данных, а программа этого не видела.
Я про сегментную память в MS DOS, конечно, знал. Но до этого работал на FoxPro, где сегментов не видно. И сделал несколько обработчиков прерываний на асме. Но обработчик маленький, там деление на ближние и дальние не нужно было. Вот мне и понадобилось некоторое время, чтобы вспомнить это все и пометить массивы атрибутом HUGE. С появлением ОС с плоской памятью и 32-битовых компиляторов Фортрана жить стало легче.
Ксоати, если в тех же Сях не выделить память по указателю, это может вылезти далеко не сразу, и не факт, что в твоем коде.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>>>Не качество, а полезность. S>>А при чём тут полезность НС>При том что результат твоей бурной деятельности бесполезен.
А надо чтобы был обязательно полезен? Прогрммирование для меня и хобби тоже. Я могу в майнкрафт поиграть, могу попрограммировать.
У меня есть много чего, где я развлекался просто. Но этот проект работал и приносил пользу в организации где я на тот момент работал.
S>> если весь срач про качество? НС>Нет, это ты пытаешься упорно перевести срач исключительно на качество, игнорируя тот факт что код у нормальных разработчиков не самоценен.
О по ссылке
Здравствуйте, Sheridan, Вы писали:
НС>>При том что результат твоей бурной деятельности бесполезен. S>А надо чтобы был обязательно полезен?
В противном случае все как я говорил — это не пролграммирование, а чесание мудей.
S>Прогрммирование для меня и хобби тоже. Я могу в майнкрафт поиграть, могу попрограммировать.
Только ты имеешь наглось при этом давать безапелляционные советы в топике про профессиональное использование и рассказывать как следует организовывать программирование.
S>>> Было бы 100500 лайков — код сразу был стал качественным? НС>>Он стал бы полезным. S>Переобуваешься прямо налету.
Нет.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[32]: Какой язык стоит выбрать для написания микросервисов
Здравствуйте, Privalov, Вы писали:
S>>Я не спорил. Я утверждал что на плюсах код не зависящий от внешних данных позволял бы при тех-же условиях держать больше работающих потоков. Как следствие — может обслужить больше клиентов. P>А на ассемблере он был бы еще сильно компактнее?
Да, давай перегибать.
P>Сегодня намного проще и дешевле пару-тройку серверов в ферму добавить с той же целью.
Да кто же спорит что не делать проще чем делать.
S>>Исключение — реакция на ошибку. Ты это хотел услышать? P>Нет, не это.
Я чтото неправильно сказал? Это не так?
S>>Ногу себе можно отстрелить где угодно. И жаба течёт, и шарп, и go, и питон S>>Так что везде надо внимательным быть. А раз так, то и плюсы можно брать. P>Ты бы читал иногда, что тебе пишут. Я сказал: инструмент. Понимаешь? Инструмент. Знаешь, что такое инструмент? P>Что системы со сборкой мусора могут течь, я знаю не только в теории. Но в таких системах лучше, когда сборщик есть, чем когда его нет.
Но почемуто постоянно вспоминаешь расстрелы памяти в плюсах и говоришь "а вот сборщик мусора...!".
S>>ССЗБ P>Ловить исключение всегда там, где оно выброшено — это просто PL/1 какой-то. В современных языках раскрутку стека просто так придумали? У тебя в месте выброса исключения часто просто нет информации для его обработки.
Ловить там где есть религия не позволяет?
S>>Всё бывает в первый раз, да. Главное какие выводы селать и что написать чтобы потом такого не было. P>Какие выводы, В точке выброса исключения у теба нет всей информации для его обработки. Так часто бывает.
Ну да, люди ошибаются. Главное чтобы после первого раза понимали что так делать не надо.
S>>А догадаться вызов библиотечного кода обложить trycatch по месту вызова, в контексте? P>А ты пробовал с таким кодом работать. Ну сделал ты try/catch, дальше что? Кинуть исключение выше по стеку? В точке выброса неясно, что с ним делать.
Всмысле неясно? Ты не знаешь для чего ты вызвал метод из которого прилетело исключение?
Я тебе псевдокод недавно показывал.
S>>А нука поподробнее. Что ты расстреливал, где текло? P>Ну, в фортрановском коде я расстреливал. Там вообще весело было. Я переносил проект с ЕС на PC. И заметил, что программа работает, не падает, но на выходе выдает ересь. Оказалось, при переходе через границу сегмента адрес сегмента не менялся, только смещение. Сооьветственно, массив чисел затирал часть данных, а программа этого не видела. P>Я про сегментную память в MS DOS, конечно, знал. Но до этого работал на FoxPro, где сегментов не видно. И сделал несколько обработчиков прерываний на асме. Но обработчик маленький, там деление на ближние и дальние не нужно было. Вот мне и понадобилось некоторое время, чтобы вспомнить это все и пометить массивы атрибутом HUGE. С появлением ОС с плоской памятью и 32-битовых компиляторов Фортрана жить стало легче.
Как ты шустро с дотнета на фортран перепрыгнул...
P>Ксоати, если в тех же Сях не выделить память по указателю, это может вылезти далеко не сразу, и не факт, что в твоем коде.
Спасибо, кэп.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>>>При том что результат твоей бурной деятельности бесполезен. S>>А надо чтобы был обязательно полезен? НС>В противном случае все как я говорил — это не пролграммирование, а чесание мудей.
Я так и сказал.
Прогрммирование для меня и хобби тоже. Я могу в майнкрафт поиграть, могу попрограммировать.
S>>Прогрммирование для меня и хобби тоже. Я могу в майнкрафт поиграть, могу попрограммировать. НС>Только ты имеешь наглось при этом давать безапелляционные советы в топике про профессиональное использование и рассказывать как следует организовывать программирование.
Если я вижу говно — я говорю что это говно.
S>>>> Было бы 100500 лайков — код сразу был стал качественным? НС>>>Он стал бы полезным. S>>Переобуваешься прямо налету. НС>Нет.
Да. Началось всё про качество и ВНЕЗАПНО стало про полезность. Переобувание в чистом виде. Ты либо за качество продолжай либо молчи.
Здравствуйте, SkyDance, Вы писали:
SD>Другие языки — скажем, Haskell — имеют продуманный фундамент.
Нет конечно. Haskell это как раз классический пример "organically grown" языка. Он не создавался как язык, нацеленный на решение какой то конкретной прикладной задачи, это экспериментальная платформа для обкатки различных идей в построении языков. Дело не в том, organically ли язык растет или нет, а в том кто, с каким подходом и бэкграундом к языку прикладывает руку.
Еще один пример "organically grown", кстати, это Котлин. И это, тем не менее, очень неплохой язык без каких либо нерешимых проблем с learning curve и техническим долгом.
Здравствуйте, Sheridan, Вы писали:
P>>А на ассемблере он был бы еще сильно компактнее? S>Да, давай перегибать.
Зачем перегибать. Веб на ассемблере ты еще лет 8 назад предлагал писать. Точнее, ты тогда сказал: если компактнее и быстрее работать будет, то ассемблер. Это ж у тебя основной критерий "хорошести" софта — скорость работы исполняемого кода.
S>Да кто же спорит что не делать проще чем делать.
Вот это твое "делать" ты сам когда-нибудь делал? сдается мне, ты в разработке еще больший теоретик, чем я в веб-разработке.
S>Я чтото неправильно сказал? Это не так?
Попробуй подумать.
S>Но почемуто постоянно вспоминаешь расстрелы памяти в плюсах и говоришь "а вот сборщик мусора...!".
Постоянно? Дай пару-тройку ссылок на это "постоянно".
S>Ловить там где есть религия не позволяет?
Ты все-таки читай иногда, что тебе пишут.
Если ты автор библиотеки и сам будешь ловить все свои исключения, твоей библиотекой пользоваться никто не будет. А если отдашь, как все нормальные люди, пользователю, это и будет описанный мною случай. А религия — это к попу.
S>Ну да, люди ошибаются. Главное чтобы после первого раза понимали что так делать не надо.
Примени этот тезис к себе.
S>Всмысле неясно? Ты не знаешь для чего ты вызвал метод из которого прилетело исключение? S>Я тебе псевдокод недавно показывал.
Знаю для чего. А ты снова показываешь, что не отличаешь исключение от ошибки.
S>Как ты шустро с дотнета на фортран перепрыгнул...
Ты просил пример расстрела память, я тебе его привел. А на Фортране потому, что в шарпе я память не расстреливал ни разу. Не, я знаю, как это сделать, но не в реальном же коде.
S>Спасибо, кэп.
Обращайся.
Re[8]: Какой язык стоит выбрать для написания микросервисов
Здравствуйте, Sheridan, Вы писали:
НС>>Работа это про бабло. А ты тут топишь против него. S>Нет, работа это про профессионализм. В этом и разница между нами. У тебя в первую очередь бабло идёт, у меня — профессия.
То о чём ты говоришь — это увлечение, хобби.
Профессионализм — это думать о бабле в первую очередь. Хороший профессионал экономит деньги заказчика. И знает, что, условно говоря.
1. решение на C++ потребует сервер с 128Mb памяти ($2000) и 4 месяца работы программиста ($4000 * 4)
2. решение на java потребует сервер с 1Gb ($2000 + $100) и 2 месяца работы программиста ($4000 * 2)
а так же умеет в базовую арифметику.
Если "профессионал" навязывает более дорогое решение заказчику, то это либо невежество (не знает|не умеет решать проблемы дешевле), либо развод на бабки.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, Ночной Смотрящий, Вы писали:
S>>>>Переобуваешься прямо налету. НС>>>Нет. S>>Да. Началось всё про качество НС>Нет. Началось все с: НС>
НС>Провальный, кстати, вариант. В основном имеет смысл в индус-трии, где важно "количество разработчиков в штате", а не создание работающего продукта.
Это откуда?
НС>Создание работающего продукта это не про чесание мудей ради чесания мудей, как бы ты сейчас не выворачивался.
Мой проект — пет-проект. И он в своё время работал и приносил пользу. Если ты не любишь программировать и не программируешь просто потому что интересно — что тыт тут делаешь? Промахнулся с профессией?