Какова САМАЯ ТВЕРДАЯ программа, которую Вы записали? [закрытый]

Похоже, что ответом является использование следующей строки кода в родительском файле:

exec(open('child.py').read())

Это запускает файл по желанию, позволяет получить доступ к переменным, созданным дочерним файлом, и отображает все желаемый результат.

Чтобы отдать должное должному, я нашел синтаксис, описанный здесь: Что является альтернативой execfile в Python 3? и это объясняет причину, по которой мои предыдущие попытки использования exec () были неверными. [114 ]

Возможно, другие могут улучшить ответ, включив альтернативы тем, кто обеспокоен ненадежностью, связанной с exec ().

19
задан 3 revs, 3 users 100% 6 April 2013 в 12:44
поделиться

19 ответов

Приложение, которое я создал в 2005/6 году, позволяет людям создавать визуализации своих домов / автомобилей и т. Д., Окрашенные в разные цвета. Конечно, это можно сделать в Photoshop, но в этом было многое, гораздо больше.

Viresol output preview

34
ответ дан 30 November 2019 в 01:44
поделиться

В настоящее время я пишу приложение для iPhone. Это определенно самая сложная программа, которую я когда-либо писал. Не потому, что язык сложный, код сложный или по какой-либо другой причине, а потому, что все на устройстве должно быть настолько беглым.

Все должно выглядеть и чувствовать себя естественно. Так как я настоящий программист (с нулевым пониманием беглости, плавности или дизайна ... так кажется), мне это очень трудно. Программа работает, с точки зрения кода, но с точки зрения пользовательского интерфейса мне гораздо сложнее добиться успеха.

Также потоки отстой; -)

1
ответ дан 30 November 2019 в 01:44
поделиться

Я работаю над еще одним PHP Framework, который до сих пор был увлекательным путешествием.

1
ответ дан 30 November 2019 в 01:44
поделиться

отладчик

3
ответ дан 30 November 2019 в 01:44
поделиться

Ничего особенного, но функция, которая могла бы нарисовать "сферу" с треугольниками, с nxn точками и интерполировать треугольники между два цвета (поэтому входными данными были радиус, количество подразделений, цвет1, цвет2). Было тяжело, но очень весело, когда это сработало :)

0
ответ дан 30 November 2019 в 01:44
поделиться

Вероятно, ничья: средство решения проблем для множеств, использующее теории выполнимости по модулю и планировщик кооперативных процессов на C / ASM, работающий на вершина операционной системы UNIX. Первый был просто трудным - его никогда не делали до использования SMT, и перевод теоретической статьи в реальную реализацию в другом контексте был трудным. Второй включал в себя копание в структурах данных ОС, чтобы понять их, а затем замену фрагментов и фрагментов для перехода между функциями в программе, как если бы они были отдельно запланированными потоками.

4
ответ дан 30 November 2019 в 01:44
поделиться

Собственный класс потокового видео, использующий API ffmpeg - на уровне обработки пакетов и отображения кадров в нужное время , синхронизация с аудио. Не так сложно, как некоторые другие из перечисленных, но это пнуло меня в задницу на многие недели!

4
ответ дан 30 November 2019 в 01:44
поделиться

Драйвер модема общего назначения для нестабильного онлайн-сервиса. Он также должен был поддерживать 30 типов модемов (до модемов Hayes). Все они имели разные временные характеристики.

Он должен был быть написан на ассемблере 8086 и Z80 для версий наших продуктов CP / M и DOS. Мне все еще снятся кошмары об одном полудуплексном модеме ...

5
ответ дан 30 November 2019 в 01:44
поделиться

Все, что связано с шифрованием и безопасностью, всегда на 1000% сложнее, чем кажется!

6
ответ дан 30 November 2019 в 01:44
поделиться

Приложение, скомпилированное и запущенное на обоих - windows и mac с одной кодовой базой.

7
ответ дан 30 November 2019 в 01:44
поделиться

Я написал несколько фрагментов кода, которые выполняют моделирование в нескольких пространственных измерениях (от 3 до примерно 7 размеры.) Проблемы становятся сложнее, когда вы работаете над чем-то, что вы не можете на самом деле нарисовать или даже визуализировать.

Но на самом деле, как тот, кто потратил большую часть моего времени на создание наборов инструментов для других, чтобы использовать их в своей работе, я бы сказал, что Самыми сложными программами, которые я делал, были наборы инструментов, наборы инструментов, предназначенные для согласованной работы друг с другом. Поскольку все они созданы для совместной работы, можно утверждать, что несколько десятков утилит фактически работают как один инструмент. (Конечно, любой модульный код в этом отношении похож.) Здесь я также предоставил инструменты моделирования, предназначенные для решения проблем управления цветом.

2
ответ дан 30 November 2019 в 01:44
поделиться

Этот вопрос мне задали в интервью пару недель назад (до сих пор не слышал, получил ли я работу ).

Для меня это было несколько заданий в моем первом классе программирования после базовых вступительных классов. Это был первый раз, когда курс по веб-дизайну был предложен в моем университете. Так как это было новым, несколько выпускников подписались и составляли приблизительно половину класса. Преподаватель привык преподавать в старших классах и уже знал многих из них. В основном он преподавал это на их уровне, а не для другой половины класса, которая была довольно неопытна.

Вероятно, самым трудным заданием было написание текстового браузера. У меня были проблемы с разбором различных тегов и я попросил помощи. Инструктор сказал: «Ну, если ты У меня был курс по компиляторам, который вы могли бы просто написать. На тот момент «Компилятор» был черным ящиком, который делал магические вещи до запуска программы. Я действительно не знал, что это было, тем более я был в состоянии написать один.

Сложно было то, что у меня не было инструментов, необходимых для выполнения работы, включая понимание результатов, которые я получил, когда гуглил. (Страницы руководства и API-интерфейсы хороши, если вы уже понимаете, что ищете, но не для обучения нубу.) Из опыта совместной работы я больше всего узнал, когда у меня был наставник, который сказал: «Если вы застряли» больше чем пару часов, дайте мне знать, чтобы я мог вас расклеить и двигаться дальше. Гораздо лучше, чем те, кто не хочет слышать от меня, кроме как каждую неделю или около того.

был черный ящик, который делал магические вещи до запуска программы. Я действительно не знал, что это было, тем более я был в состоянии написать один.

Сложно было то, что у меня не было инструментов, необходимых для выполнения работы, включая понимание результатов, которые я получил, когда гуглил. (Страницы руководства и API-интерфейсы хороши, если вы уже понимаете, что ищете, но не для обучения нубу.) Из опыта совместной работы я больше всего узнал, когда у меня был наставник, который сказал: «Если вы застряли» больше чем пару часов, дайте мне знать, чтобы я мог вас расклеить и двигаться дальше. Гораздо лучше, чем те, кто не хочет слышать от меня, кроме как каждую неделю или около того.

был черный ящик, который делал магические вещи до запуска программы. Я действительно не знал, что это было, тем более я был в состоянии написать один.

Сложно было то, что у меня не было инструментов, необходимых для выполнения работы, включая понимание результатов, которые я получил, когда гуглил. (Страницы руководства и API-интерфейсы хороши, если вы уже понимаете, что ищете, но не для обучения нубу.) Из опыта совместной работы я больше всего узнал, когда у меня был наставник, который сказал: «Если вы застряли» больше чем пару часов, дайте мне знать, чтобы я мог вас расклеить и двигаться дальше. Гораздо лучше, чем те, кто не хочет слышать от меня, кроме как каждую неделю или около того.

включить понимание результатов, которые я получил, когда я погуглил. (Страницы руководства и API-интерфейсы хороши, если вы уже понимаете, что ищете, но не для обучения нубу.) Из опыта совместной работы я больше всего узнал, когда у меня был наставник, который сказал: «Если вы застряли» больше чем пару часов, дайте мне знать, чтобы я мог вас расклеить и двигаться дальше. Гораздо лучше, чем те, кто не хочет слышать от меня, кроме как каждую неделю или около того.

включить понимание результатов, которые я получил, когда я погуглил. (Страницы руководства и API-интерфейсы хороши, если вы уже понимаете, что ищете, но не для обучения нубу.) Из опыта совместной работы я больше всего узнал, когда у меня был наставник, который сказал: «Если вы застряли» больше чем пару часов, дайте мне знать, чтобы я мог вас расклеить и двигаться дальше. Гораздо лучше, чем те, кто не хочет слышать от меня, кроме как каждую неделю или около того.

2
ответ дан 30 November 2019 в 01:44
поделиться

Библиотека для решения нелинейных уравнений в частных производных. Мы использовали его в группе теоретической физики, чтобы решить нелинейную адаптацию уравнения Шредингера, которая встречается в очень особых низкотемпературных средах.

Было относительно легко получить работающий простой решатель, но обобщив его и сделать это быстро было непросто.

В настоящее время в Google есть открытый код: fdtl

8
ответ дан 30 November 2019 в 01:44
поделиться

Однажды я создал многокамерное программное обеспечение для обработки видео в режиме реального времени, выполняющее обнаружение движения и накопительную гистографическую магию, все на процессорах 33 МГц и 640 МБ ОЗУ. Трудная часть заставляла это идти быстро; Обильное количество хэширования, смещения битов, обмана, ругательства и поздних ночей с пиццей и прозрениями в течение примерно 4 лет. О, и я сделал версию, касающуюся цвета. Да, и модуль, который мог видеть разницу между паром и белым дымом в больших помещениях (как ядерные реакторы, как это было). Ха, просто попробуй! Вы не найдете примеров такого в любом учебнике. :)

8
ответ дан 30 November 2019 в 01:44
поделиться

Однажды мне пришлось написать алгоритм сжатия, использующий BWT (преобразование Берроуза Уилера), и есть шаг в алгоритме, где вы должны создать огромную матрицу. У меня были проблемы с памятью и скоростью, потому что матрица была такой огромной. Приходите, чтобы выяснить, что существует действительно простой алгоритм, который я мог бы использовать и полностью избежать матрицы.

Мне также пришлось написать простую операционную систему на ASM, и это было довольно сложно.

10
ответ дан 30 November 2019 в 01:44
поделиться

Тот, который я не хотел писать или получать удовольствие,

16
ответ дан 30 November 2019 в 01:44
поделиться

компилятор

20
ответ дан 30 November 2019 в 01:44
поделиться

Автоматизация с помощью COM, с выполнением через Grid

4
ответ дан 30 November 2019 в 01:44
поделиться

Библиотека векторной графики, которую я начал писать в 1998 году, широко использовала иерархическое деление для обеспечения многих операций за O(log n) и анизотропные тесселяции, запомненные в списках отображения OpenGL для поддержания высокой частоты кадров на динамических сценах. В частности, он мог плавно масштабировать сложную векторную графику, поскольку разлагал ее на деревья и эффективно их сортировал. В течение многих лет это был самый быстрый в мире рендерер векторной графики потребительского уровня.

Первоначальная версия была 200kLOC C++, но теоретические проблемы, которые легли в основу ее дизайна, заняли у меня 2 года.

3
ответ дан 30 November 2019 в 01:44
поделиться