Вы умеете внимательно читать? Перечитайте, пожалуйста, эту ветку с начала и поймите, что тут обсуждают теоретическую возможность формального доказательства при условии неограниченного времени и бюджета, а не его практическую целесообразность.
но вам об этом не сообщили, вы всё равно с порога будете утверждать, что наверняка программа ошибочная?
Вы меняете условия на ходу. Обсуждался случай, когда достоверно известно об отсутствии формального описания, цитата: "Если нет формального описания, то ошибок тоже нет?"
Хм, а кто-то всерьёз начнёт доказывать, что их программа безошибочна? Отсутствие формального описания означает наличие N неизвестных ошибок в программе, где N нелинейно растёт вслед за ростом сложности, объёма кода и т.д. Учитывая невозможность обнаружения всех N ошибок без формального описания, действительно можно сказать, что вся программа ошибочна.
Вообще говоря, в описании реального мира математика продвинулась куда дальше, чем программирование (см. математическая физика). Но по сути и то и то работает с упрощенными моделями реальности. Формальное описание — это и есть модель.
Теперь вопрос — можем ли мы (как вид) создать безбажное формальное описание нетривиального продукта?
Да можем конечно… С математикой же мы как вид как-то справляемся. Так же и программа может быть представлена в декларативном виде. Есть особо сложные случаи, но подавляющее большинство программ реально формализовать… Другой вопрос, что это кучу времени займёт при текущем состоянии IT-индустрии (что не говори, а она ещё только на начальном уровне развития).
Не тупите… Навешивание ярлыков — это оскорбление, подшучивание над уровнем — нет. Тем более единственный актуальный для Вашего друга ярлык — дохляк, остальное никаким боком к физической форме не относится.
В любом случае от ярлыков позитивного воздействия нет, Вы могли бы ему, допустим, в ситуации когда надо что-то тяжёлое переставлять, попросить его переставить что-то совсем лёгкое с намёком, что большее он не поднимет. Это было бы буквальной аналогией с примером из статьи.
Фишка в том, что уровень в чем бы то ни было не является константной характеристикой человека и практически всегда может быть улучшен. Дружеские подколы способствуют этому улучшению, а оскорбления и навешивания ярлыков лишь показывают духовную незрелость оскорбляющего и его неуверенность в себе.
К слову о тесте, у меня есть ощущение, что тестируется какая-то фигня, просто не верится, что разница на столько велика.
Apache c дефолтными настройками никогда и не был тортом для больших нагрузок. Сравнение то идёт скорее с ним, а не с PHP. Спрячь ноду за тот же самый Apache и будет такая же скорость.
Это опять же вопрос личного выбора и тайм-менеджмента. Если во время работы, сталкиваешься с багом в OSS-проекте, то можно и pull-request с исправлением послать. Вас за это не уволят, я многократно проверял :-)
Написанием кода? Ну это вряд ли. Во всяком случае — не быстро.
Есть OpenSource. Иногда встречаются и компании, которые не против публикации своих наработок.
Вы куда-то торопитесь? Карьера — это в любом случае марафон. Да и путёвую книгу быстрее чем за год вряд ли напишешь, если только писать её вместо работы :-)
Да, я думаю, у большинства действующих программистов есть опыт программирования без интернета…
У меня, когда начинал учиться программировать, была только офф.документация по Delphi и пара книг из университетской библиотеки. Правда с тех пор осталась привычка во всём самому разбираться, не задавая вопросов на форумах.
Согласен, индустрия меняется… Если про веб говорить, то сначала хватало html-файликов, потом решили, что неплохо бы их генерировать на лету, потом посещаемость и сложность сайтов стала расти год от года и сейчас уже пришли к классической трёхзвенной архитектуре с толстым клиентом. Благодаря тому, что нагрузки веб-проектов и объемы БД растут, есть запрос на быстродействие. Но я бы тут поставил на функциональные языки, т.к. обработка веб-запросов — это по сути функциональная задача.
Тут как раз и есть эти самые «другие причины» — наличие библиотек, коммьюнити, документаци…
Да ладно… Это где вам библиотек/документации не хватает? В Common Lisp, в Racket или в Clojure? Комьюнити небольшие, но это скорее следствие малой распространенности, а не причина.
Не говоря уже о том, что сами эти языки понемногу впитывают в себя идеи лиспа и наследников. В том же C# это сильно чувствуется.
Там скорее идеи ФП в целом и OCaml в частности… Хотя лисп настолько глобален, что где только его идей нет…
Кстати, странно, что мало проектов используют самый мощный язык (Lisp), или хотя бы языки с полноценными AST-макросами, как следующие за Lisp по мощности. Это действительно интересная загадка..
Вы умеете внимательно читать? Перечитайте, пожалуйста, эту ветку с начала и поймите, что тут обсуждают теоретическую возможность формального доказательства при условии неограниченного времени и бюджета, а не его практическую целесообразность.
Вы меняете условия на ходу. Обсуждался случай, когда достоверно известно об отсутствии формального описания, цитата: "Если нет формального описания, то ошибок тоже нет?"
Хм, а кто-то всерьёз начнёт доказывать, что их программа безошибочна? Отсутствие формального описания означает наличие N неизвестных ошибок в программе, где N нелинейно растёт вслед за ростом сложности, объёма кода и т.д. Учитывая невозможность обнаружения всех N ошибок без формального описания, действительно можно сказать, что вся программа ошибочна.
Кхм, в этой ветке речь идёт о формальном доказательстве отсутствия ошибок в программах. А Вы говорите об обычной спецификации, это совсем другая тема.
Вообще говоря, в описании реального мира математика продвинулась куда дальше, чем программирование (см. математическая физика). Но по сути и то и то работает с упрощенными моделями реальности. Формальное описание — это и есть модель.
Да можем конечно… С математикой же мы как вид как-то справляемся. Так же и программа может быть представлена в декларативном виде. Есть особо сложные случаи, но подавляющее большинство программ реально формализовать… Другой вопрос, что это кучу времени займёт при текущем состоянии IT-индустрии (что не говори, а она ещё только на начальном уровне развития).
Деанонить человека по специально зареганному (12 января 2017 в 12:42) аккаунту — провальная идея.
Не тупите… Навешивание ярлыков — это оскорбление, подшучивание над уровнем — нет. Тем более единственный актуальный для Вашего друга ярлык — дохляк, остальное никаким боком к физической форме не относится.
В любом случае от ярлыков позитивного воздействия нет, Вы могли бы ему, допустим, в ситуации когда надо что-то тяжёлое переставлять, попросить его переставить что-то совсем лёгкое с намёком, что большее он не поднимет. Это было бы буквальной аналогией с примером из статьи.
Фишка в том, что уровень в чем бы то ни было не является константной характеристикой человека и практически всегда может быть улучшен. Дружеские подколы способствуют этому улучшению, а оскорбления и навешивания ярлыков лишь показывают духовную незрелость оскорбляющего и его неуверенность в себе.
Хм, этот отрывок ведь про Kanban, а не про Scrum.
В бетонную стену и молотком лучше гвозди не забивать…
Так Вы устроили нагрузочное тестирование или не взлетело?
Apache c дефолтными настройками никогда и не был тортом для больших нагрузок. Сравнение то идёт скорее с ним, а не с PHP. Спрячь ноду за тот же самый Apache и будет такая же скорость.
Это опять же вопрос личного выбора и тайм-менеджмента. Если во время работы, сталкиваешься с багом в OSS-проекте, то можно и pull-request с исправлением послать. Вас за это не уволят, я многократно проверял :-)
Кстати, мне тут недавно один HR рассказал про Github Awards. Я конечно поржал, но факт остаётся фактом, они и туда заглядывают.
Да, я думаю, у большинства действующих программистов есть опыт программирования без интернета…
У меня, когда начинал учиться программировать, была только офф.документация по Delphi и пара книг из университетской библиотеки. Правда с тех пор осталась привычка во всём самому разбираться, не задавая вопросов на форумах.
Согласен, индустрия меняется… Если про веб говорить, то сначала хватало html-файликов, потом решили, что неплохо бы их генерировать на лету, потом посещаемость и сложность сайтов стала расти год от года и сейчас уже пришли к классической трёхзвенной архитектуре с толстым клиентом. Благодаря тому, что нагрузки веб-проектов и объемы БД растут, есть запрос на быстродействие. Но я бы тут поставил на функциональные языки, т.к. обработка веб-запросов — это по сути функциональная задача.
Недавно сделали прикол на эту тему: stackoverflow-autocomplete
Да ладно… Это где вам библиотек/документации не хватает? В Common Lisp, в Racket или в Clojure? Комьюнити небольшие, но это скорее следствие малой распространенности, а не причина.
Там скорее идеи ФП в целом и OCaml в частности… Хотя лисп настолько глобален, что где только его идей нет…
Кстати, странно, что мало проектов используют самый мощный язык (Lisp), или хотя бы языки с полноценными AST-макросами, как следующие за Lisp по мощности. Это действительно интересная загадка..