Еще несколько размышлений о программировании...

Чтобы отправить комментарий — войдите.
  • A
    31 окт 05
    Заходя так глубоко в поиски причин того, что очевидно, не путь ли это к написанию собственной операционной системы + компилятора + сервиса и самое интересное так почему бы самому не написать протокол, начиная с транспортного. :)

    Думаю, что порядка 30 лет развития программирования ни к этому вели, и наши предки ни этого хотели при развитии этих технологий, чтобы потом их сын (подразумевается что вы небыли у истоков IBM 360) потратил жизнь на проект который устареет в процессе написания.

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

    По поводу безопасности, главное понять основной принцип, что программа это алгоритм у которого на входе и выходе подаются _данные_, вот тут и опасность, хорошая проверка этих данных избавит от многих головных болей, + культура написания кода.

    Это мое сугубо ИМХО
    Ответить
    • Trinux
      Trinux АВТОР
      Aspid 31 окт 05
      Есть люди, которые пишут операционки, есть такие, что пишут веб-сервера, базы данных. Есть люди, которые пишут визуальные приложения для винды или линя. А я пишу web-интерфейсы. Мне не интересно как построена операционка и прочее. Я люблю свое дело — я пишу web интерфейсы. Вот простая параллель...

      Есть люди которые строят дома, в которых я живу. Есть те, что делают ванны, в которых я моюсь. а я директор компании Sony, я собираю технику. При этом я использую материалы, которые мне поставляют партнеры (я как программер использую php и прочее), но свои телевизоры я собираю сам, от винтика до винтика, не используя при этом чужих запчастей.

      Есть простой пример. Вот есть компания Sony, которую все очень любят и уважают. Их качество всегда было на высоте. А есть Panasonic, которые используют запчасти PHILIPS в своих ЭЛТ телеках. В частности сама трубка, когда я разобрал телик Panasonic была промаркирована как "PHILIPS". Телик хороший, только кого благодарить? Panasonic за сборку или все же PHILIPS за качественные детали? Непонятно. А вот когда я покупаю телик от Sony, таких вопросов не возникает.
      Ответить
  • A
    31 окт 05
    В целом — не могу не согласиться.

    С другой стороны — так или иначе, создавая свой код, мы вынуждены в той или иной мере использовать чужие разработки. Изобретать своё колесо иной раз действительно лучше, т.к. при его создании всегда можно учесть специфику применения, что благоприятно скажется на производительности.

    И в то же время, сотни тысяч программистов используют стандартные библиотеки, например, Windows для создания того же интерфейса своих приложений. Те же, кто пишут свои, в любом случае вынуждены взаимодействовать с чужим кодом и все так же использовать его, пусть и в несколько меньшей мере. Так или иначе, права называться автором конкретного кода они от этого не теряют. А отвечать приходится всегда, и увы — не всегда — за свои собственные ошибки. Иной раз приходится изменять свой собственный код с учетом существующих проблем в чужом, для благополучного их преодаления.

    Об ошибках как таковых — отдельная речь. От них не застрахован никто, и сколь бы "чист" ни был PHP-код, никто не гарантирует отсутствие ошибок интерпретаторе. В конечном итоге — код становится опасен, хотя и не по вине его разработчика. Как показывает практика — ошибаются все, в т.ч. и разработкики PHP, которым уже неоднократно приходилось исправлять даже критические для безопасности моменты. И, разумеется, на 100% гарантировать отсутствие ошибок где бы то ни было — просто излишняя самонадеянность. И вот тут имеется достаточно весомое "НО": встретить (я специально не говорю найти) ошибку, когда код используют, например, 50.000 человек куда сложнее, чем в случае, когда его пользователями являются миллионы, как с тем же SMARTY (а к миллионам использующих (конечных пользователей) добавляются сотни тех, кто использует его в свои разработках и непосредственно взаимодействует с этим кодом).

    Я, в свою очередь, исключаю возможность применения чужого кода в своих разработках лишь по трем причинам:

    1. Меня не устраивает лицензионное соглашение.

    2. Существенно излишняя (или недостаточная) функциональность.

    3. Качество кода в целом (или хотя бы общее впечатление о нем, сложившееся от первых попыток использования, степени проработки документации и т.д.; бинарники "неизвестно-от-кого", разумеется, даже не рассматриваются).

    В общем и целом — своё, конечно, лучше. Но рано или поздно приходится идти на компромиссы, во имя сокращения времени разработки, из-за лицензионных ограничений на определенные алгоритмы...

    Заказчик, в конце концов, в большинстве случаев предпочитает побыстрее и подешевле, при общей сравнимой производительности и надежности.
    Ответить
  • iSmile
    31 окт 05
    Согласен и поддерживаю.

    Если что-то пойдет не так — винить будет некого...

    Надейся на самого себя (с)
    Ответить
full image