Просто любопытно, мне интересно, что все, что вы испытали, программисты или новички (например, я) там сделали. Итак, какая самая сложная программа, которую вы написали?
Какая программа HARDEST вы написали?
Ответ 1
Приложение, созданное мной в 2005/6 году, позволяет людям создавать визуализацию своих домов/автомобилей и т.д., окрашенных в разные цвета. Теперь это, безусловно, можно сделать в Photoshop, но было много, гораздо больше.
Ответ 2
компилятор
Ответ 3
То, что я не хотел или получал удовольствие, писал.
Ответ 4
Мне когда-то пришлось написать алгоритм сжатия, который использовал BWT (Barrows Wheeler Transform), и есть шаг в алгоритме, где вам нужно создать HUGE-матрицу. У меня были проблемы с памятью и скорость, потому что матрица была такой огромной. Приходите, чтобы узнать, есть действительно простой алгоритм, который я мог бы использовать и полностью избегал матрицы.
Мне также пришлось написать простую операционную систему в ASM, и это было довольно сложно.
Ответ 5
Библиотека для решения нелинейных дифференциальных уравнений с частными производными. Мы использовали его в теоретической физике для решения нелинейной адаптации уравнения Шредингера, которое происходит в очень особых условиях низкой температуры.
Было довольно легко заставить работать простой решатель, но обобщая его и, делая его быстрым, было проблемой.
В настоящее время он с открытым исходным кодом находится в коде google: fdtl
Ответ 6
Я когда-то делал программное обеспечение для обработки видео в режиме реального времени, делая обнаружение движения и кумулятивную гистографическую магию, все на 33-мегагерцовых процессорах и 640 МБ ОЗУ. Трудная часть делала это быстро; обильное количество хэширования, бит-сдвигание, обман, ругань и поздние ночи с пиццей и ефифами в течение примерно 4 лет. О, и я сделал версию, касающуюся цвета. О, и модуль, который мог видеть разницу между парами и белым дымом в больших комнатах (например, ядерные реакторы). Ха, ты просто попробуй! Вы не найдете таких примеров в любом учебнике.:)
Ответ 7
Приложение, которое скомпилировано и работает на обоих - windows и mac с одной кодовой базой.
Ответ 8
Все, что связано с шифрованием и безопасностью, всегда на 1000% сложнее, чем кажется!
Ответ 9
Драйвер модема общего назначения для уязвимой онлайн-службы. Он также должен был поддерживать 30 типов модемов (до модемов Hayes). Все они имели разные временные характеристики.
Он должен был быть написан на ассемблере 8086 и Z80 для версий наших продуктов CP/M и DOS. У меня все еще есть кошмары о каком-то полудуплексном модемом...
Ответ 10
Автоматизация с помощью COM, с выполнением через сетку
Ответ 11
Вероятно, связь: решение решения задач для наборов с использованием выполнимости по модулю теорий и совместного планировщика процессов в C/ASM, который запускался сверху операционной системы UNIX. Первый из них был просто прост - он никогда не делался до использования SMT и трудно было перевести высокотеоретическую бумагу в реальную реализацию в другом контексте. Второй способ заключался в том, чтобы копаться в структурах данных ОС, чтобы понять их, а затем заменить биты и куски, чтобы прыгать назад и вперед между функциями в программе, как если бы они были отдельно запланированными потоками.
Ответ 12
Собственный класс видеопотока с использованием ffmpeg api - на уровне обработки пакетов и отображения кадров в нужное время, синхронизации с аудио. Не так сложно, как некоторые из перечисленных в списке, но он пинал мой прикладом в течение многих недель!
Ответ 13
отладчик
Ответ 14
A векторная графическая библиотека Я начал писать в 1998 году, что широко использовало иерархическое подразделение для обеспечения множества операций в O (log n) и анизотропные тесселяции, сохраненные в списках отображения OpenGL для поддержания высоких скоростей кадров в динамических сценах. В частности, он мог бы сместиться в сложную векторную графику, потому что он разложил их на деревья и эффективно их выбрал. На протяжении многих лет это был самый быстрый в мире рендеринг векторной графики на потребительском рынке.
Первоначальная версия была 200kLOC С++, но теоретические проблемы, которые легли в основу ее дизайна, заняли у меня 2 года.
Ответ 15
2 вещи:
1) Компилятор. Название языка было "3-мя шарами" (дань уважения другу, у которого он играл на балах)
2) Программа сборки Windows без одного макроса, все было перенесено в стек, и адрес был относительным. Он работает во всех Windows (нет адресного кодирования). В основном это простое окно с несколькими кнопками и ярлыками. Но приятно, что из объекта и исполняемых файлов я извлекал коды операций и генерировал из него шеллкод. Таким образом, я мог бы использовать любой буфер в программе и буквально создавать собственное приложение над запущенным! Приятно показать экран на удаленном компьютере, и удаленный компьютер выполнит программу, которая не существует на его компьютере, вы буквально отправили программу, которая будет выполнена на удаленном компьютере.
Конечно, это слишком большой харч файл для ничего... но он стоит всех байтов, которые я набрал!
Ответ 16
Я написал несколько фрагментов кода, которые делают моделирование в нескольких пространственных измерениях (от 3 до примерно 7 измерений). Проблемы становятся сложнее, когда вы работаете над тем, что вы не можете на самом деле изображать или даже визуализировать.
Но на самом деле, поскольку тот, кто провел большую часть своего времени, создавая инструментальные средства для других, чтобы использовать их в своей работе, я бы сказал, что самые сложные программы, которые я сделал, были на самом деле инструментальными ящиками, наборами инструментов для работы с каждым другой в последовательном порядке. Поскольку все они созданы для совместной работы, вы можете утверждать, что несколько десятков утилит фактически работают как на самом деле один инструмент. (Конечно, любой модульный код схож в этом отношении.) Здесь тоже, что я предоставил, как правило, были инструменты моделирования, предназначенные для решения проблем управления цветом.
Ответ 17
Мне задали этот вопрос в интервью пару недель назад (до сих пор не слышал, получил ли я работу).
Для меня это было несколько заданий в моем первом классе программирования после базовых классов intro. Впервые в моем университете был предложен курс по веб-дизайну. Поскольку это было ново, несколько выпускников старшего возраста подписались и составили около половины класса. Инструктор был использован для обучения старшим классам, и уже знал многих из тех, кто был в классе. В основном он преподавал это на своем уровне, а не для другой половины класса, которые были довольно неопытными.
Вероятно, самым сложным заданием было создание текстового браузера. У меня были проблемы с разбором различных тегов и попросили о помощи. Инструктор сказал: "Ну, если бы у вас был курс" Компиляторы ", вы могли бы просто написать простой. В этот момент" Компилятор" был черным ящиком, который делал магические вещи до запуска программы. Я действительно не знал, что это такое, и тем более я мог написать его.
То, что затруднило работу, заключалось в том, что у него не было инструментов, необходимых для выполнения работы, включая понимание результатов, которые я получил, когда я googled. (Man pages и API отлично, если вы уже понимаете, что ищете, но не для обучения noob.) В моих опытах с кооперативами я узнал больше всего, когда у меня был наставник, который сказал: "Если вы застряли более чем через пару часов, дайте мне знать, чтобы я мог развязать вас и двигаться. Гораздо лучше, чем те, кто не хочет слышать от меня, кроме недели или около того.
Ответ 18
Я работаю над еще одной PHP Framework, которая до сих пор была интересным путешествием.
Ответ 19
В настоящее время я пишу приложение для iPhone. Это определенно самая сложная программа, которую я когда-либо писал. Не потому, что язык сложный, сложный код или любая другая причина, а потому, что все на устройстве должно быть настолько бегло.
Все должно выглядеть и чувствовать себя естественным. Так как я настоящий программист (с пониманием беглости, гладкости или дизайна... так оно и кажется), это делает меня действительно трудным для меня. Программа работает, код мудрый, но пользовательский интерфейс мудрый Мне гораздо труднее сделать все.
Также потоки сосут; -)
Ответ 20
Ничего особенного, но функция, которая могла бы нарисовать "сферу" с треугольниками, с n x n точками и интерполировать треугольники между двумя цветами (поэтому на вход были указаны радиус, количество подделок, color1, color2). Было тяжело, но очень весело, когда он работал:)