Будущее?

Тема в разделе "WASM.HEAP", создана пользователем Lord_De_Seis, 13 ноя 2007.

  1. Lord_De_Seis

    Lord_De_Seis New Member

    Публикаций:
    0
    Регистрация:
    18 авг 2005
    Сообщения:
    55
    Сегодня хотел сделать простенькую фишку. Прожка рисовала у себя на форме всякие вещи, опционально это должно было сохранятся в Jpeg. Но вот с последним я оббежал такую тучу сайтов что просто ужас. Если не реализовывать самому и не таскать с собой дллку, сделанную в каком нибудь билдере или чём то подобном - выход один GDI+.
    Стал читать статью по этому нечто.... навороченная классовая структура постоянные подвижки в сторону .net и прочее. Нет я понимаю что GDI в том виде в котором он есть давно устарел и ему нужна замена, но это.... Не уж то нельзя было спроектировать dll так что бы не приходилось экспортировать классы, чтобы это было совместимо со всем что может подгрузить длл и вызвать getprocaddress, без попыток получить доступ к гландам через задний проход.

    И тут собственно основная мысль. Я наблюдаю за тем как год от года всё сильнее жмут компании двигающие вперёд ООП разработки. Инкапсуляция в большинстве случаев - читай непредсказуемое поведение, наследование -узаконенное воровство. Не уж то это будующее и без этого никак? Не уж то без этого уже скоро будет не спроектировать интерфейс? Большинство людей уже и не помышляет писать ни на чём другом кроме java и .net (ну разве что те кто с них пересесть на ruby), как и большинство компаний теперь ищет именно таких людей. Монстроидальные проекты которые тормозят даже на новых компах, бесконечное множество условностей и абстракций, не уж то за этим будующее? Судя по описанию последнего ддк эта зараза прокралась уже даже в драйвера.
    Такое впечатление что весь мир сошёл с ума. Человек закончив 2 курса вуза спешит скорее пойти работать и неприменно на вот этом. Половина людей гордо зовущие себя программистами не осилят без книжки написать qsort.... и так далее...

    Вопрос собственно в том, каким вы видите будующее? Если в нём место программисту C\ASM(или они останутся только на микроконтроллерах)?
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    баян, тема 2-3 раза поднималась уже.
     
  3. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Lord_De_Seis

    Ну так фундаментальная подготовка денег и времени стоит, а так -- подготовил "специалиста" и отправил его работать. А потом удивляются, что спутники летят не туда, куда надо, оси виснут, компиляторы неверный код генерят, и всё это жрёт немеряно памяти и работает со скоростью черепахи...
     
  4. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    Lord_De_Seis,
    на заметку: "будущее", "неужто".
    а то пока прям уши режет:)

    а по сабжу, ну что ты хотел, на то он и прогресс, где на все есть свое разработанное решение. чуток подправить под свои нужды - и вуаля, результат достигнут. ну, меня это тоже не полностью радует.
     
  5. roman_pro

    roman_pro New Member

    Публикаций:
    0
    Регистрация:
    9 фев 2007
    Сообщения:
    291
    Lord_De_Seis

    Ну если ООП мишура напрягает, то можно копать в сторону GDI+ Flat API, вроде пока функции экспортируются.
    http://msdn2.microsoft.com/en-us/library/ms533969.aspx
     
  6. matich

    matich New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    72
    Скоро В.Пупкин "Hello World" напишет на полгига, а люди будут удивляться, что прога маленькая получилась, т.к. уних такая же прога компилится в 2 гига.

    Когда-нибудь рухнет небоскрёб построенный из уровней абстракции, а если не рухнет то террористы ему помогут.
     
  7. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    :))
    я прям вижу кадры из нового голливудского блокбастера: шайка дзенщеков-лоулевел_кодеров во главе с matich под покровом ночи, обвязанные гранатами, ползут к неподступным миллионоэтажным небоскребам ООП, дабы раз и на всегда сокрушить империю проклятого ООП-злодея, заграбаставшего в свои поганые лапы некогда цветущие края великих Низкоуровневых Земель... и да пребудет с ними Сила!!!
     
  8. Stiver

    Stiver Партизан дзена

    Публикаций:
    0
    Регистрация:
    18 дек 2004
    Сообщения:
    812
    Адрес:
    Germany
    Интересно, что на порядки больший небоскреб абстракций в математике абсолютно никому не мешает..
     
  9. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    в отличие от ООП, в математике не существует private методов.
     
  10. xcode

    xcode Member

    Публикаций:
    0
    Регистрация:
    8 апр 2007
    Сообщения:
    105
    Я сам не очень люблю всякие фреймворки типа NET или JVM (может быть, потому что пишу на C/C++ :) ), но логика подсказывает: да, за ними будущее, и вот почему.

    Когда-то люди писали только на ассемблере или в машинных кодах. Думаю, что когла появились языки "среднего" уровня (структурное программирование, всякие фортраны и т.п.) , настоящие низкоуровневые программисты тоже отнеслись к ним с пренебрежением. Ведь компиляторы генерили _неоптимальный_ код! А многих вещей вообще нельзя было сделать! Самомодифицирующийся код и всякие такие штучки... Языки среднего уровня, предоставляя новый уровень абстракции, делали это не бесплатно: отнимали часть возможностей и делали код несколько неоптимальным.

    Примерно то же произошло в написании игр. Изначально игрушки писались исключительно на _своих_ движках, которые были до предела оптимизированы и в обязательном порядке работали с регистрами видеокарт и т.п. Когда появился первый DirectX, на него серьезно никто не смотрел и все равно писали под DOS. Но прошло время, и теперь игрушки пишут ТОЛЬКО под DirectX или OpenGL. Никому даже в голову не идет мысль написать что-то, работающее с портами видеокарты! Потеряли ли мы какую-то производительность, отказавшись от прямой работы с железом? Думаю, да. Но зато был получен новый уровень абстракции и унификация, которой было бы не достичь, учитывая современные возможности видеокарт.

    Современные программы взаимодействуют СО ВСЕМИ устройствами опосредованно: с диском - через API файловой системы, с видео - через GDI или DirectX, с аудио - например через DirectSound, с принтерами через тот же GDI, с клавиатурой и мышью - через систему сообщений операционки. Остался только процессор и оперативная память. Вдумайтесь: сейчас это единственные компоненты компьютера, с которыми софт взаимодействует напрямую!

    Так что фреймворки и виртуальные машины - неизбежность, диктуемая вовсе не ООП, а какими-то другими, неизвестными мне законами развития технологий: фреймворки - это аналог DirectX'а, только вместо видеокарты и видеопамяти здесь процессор и оперативка.
     
  11. bugaga

    bugaga New Member

    Публикаций:
    0
    Регистрация:
    1 июл 2007
    Сообщения:
    361
    Да лехко...

    Код (Text):
    1. ;tasm32 /ml /m2 512.asm
    2. ;link *.obj /subsystem:console /entry:start msvcrt.lib
    3.         .386P
    4.         .model flat
    5. extrn _printf :proc
    6. .code
    7. public _start
    8. _start:
    9. push offset msg
    10. db 536870912 dup (90h)
    11.  
    12.   call _printf
    13.  
    14.   pop eax
    15.  retn
    16.  
    17. msg db  'bugaga! :)'
    18. end _start
     
  12. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    JVM и .NET отбирают процессор как устройство, и оперативная память контролируется всё тем же процессором.
     
  13. xcode

    xcode Member

    Публикаций:
    0
    Регистрация:
    8 апр 2007
    Сообщения:
    105
    Ну да, я это и имею в виду:)
    Фреймворки - это последняя стадия виртуализации, в результате которой прикладной софт ОКОНЧАТЕЛЬНО отделяется от железа. Внутри, на системном уровне, все осталось как было: все те же порты ввода/вывода:)
     
  14. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Почему ассемблер никогда и не умрёт: всё равно необходимо время от времени делать низкоуровневые вещи.
     
  15. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.242
    Lord_De_Seis
    на самом деле, так и должно быть: в работе и только в ней человек может узнать уровень своих знаний и что нужно для дальнейшего развития - вот обратная ситуация действительно страшная.
    постоянная практика хорошо это лечит, да, и вообще, стоит разделять справочные знания и базовые
    SII
    на самом деле в России ситуация по-другому выглядит: у нас много вузов, где нули готовят нулей; на преподов науч. звания падают, как манна небесная, а вот как на кафедре толком ничего не делающей такое чудо происходит догадаться просто (впрочем, не везде такое безобразие). по определению все с супер подготовкой быть не могут - поэтому существует градация уч. заведений по уровню подготовки.
    >>>> фундаментальная подготовка денег и времени стоит
    а вот этот момент стоит выделить - эконом. невыгодно обучать человека тому, что он использовать не будет.
     
  16. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    UbIvItS

    Понятное дело, что "суперов" сравнительно немного. И совершенно согласен с тем, что только на практике человек действительно может стать специалистом. Однако когда недоучку выдают за нормально подготовленного специалиста -- это не есть хорошо.

    Фактически проблема в том, что для программиста считается достаточным научиться кодировать на каком-то языке, при этом не требуется понимания ни глубинных основ работы ЭВМ и ОС (абстрагирование от аппаратуры, однако ;) ), ни умения анализировать задачу на сколько-нибудь заметную глубину. Отсюда и реализация первой пришедшей в голову идеи, и неспособность оценить эффективность того или иного решения, и т.д. и т.п. Конечно, "специалисты" подобного уровня находят свой спрос, но очень плохо, что основная масса становится таковой.
     
  17. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.242
    SII

    ты излишне идеализируешь требования - глубинные основы ЭВМ (точней их знания) требуются тогда, когда нужна глубокая оптимизация кода - в свою очередь, эта оптимизация не всегда эконом. обоснована: самый яркий пример - распред. вычисления. гораздо быстрей сделать клиент на ява и он будет пахать вне зависимости от проца и оси, чем строкать клиента на асме.
    и вообще, попытка какой - либо фирмы выводить на рынок идеальный софт приведёт к её развалу, т. к. проект будет дороже и дольше, а конкуренты будут выбрасывать на рынок более глючный, медленный и раздутый софт, но на них будет работать ситуация: "дорога ложка к обеду". к тому же, юзер- гомосапиенс неблагодарный, т. ч. делать идеал - это прямая дорога: работать много, а получать мало.
    это вполне законамерно, другой вопрос, что благодаря взяткам в вузы приходят учиться нули; нормальные преподы, помнящие такое слово как совесть, уходят на другую работу, а новые спецы защищают купленные дипл. работы у своих гуру преподов, на кои без слёз не нарадуешься - в нормальных заведениях это, дай бог, если за лабу прокатит - вот отсюда и выходит, что дипломы Российских вузов в своём большинстве ценяться ниже туалетной бумаги - ей хоть подтереться можно:))
     
  18. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    UbIvItS

    Ну, не сказал бы, что идеализирую требования... Ведь дело не только в том, нужны ли конкретные знания на практике, а в том, что это расширяет кругозор, так сказать. Возьмём ту же математику: 95% того, что учат в вузах, ни разу в жизни не потребуется 95% выпускников этих самых вузов, однако изучение математики "дрессирует мозги", упорядочивает мышление и т.д. и т.п. -- а без этого хорошего программиста быть не может.

    Что же касается оптимизации, и в частности, тех же распределённых вычислений, то тут бабушка надвое сказала. Во многих случаях действительно проще написать жаба-клиент, и фиг с ней, с эффективностью (тем более что JVM не так уж хреново работает, судя по отзывам, что я слышал). Но есть и такие задачи, где производительность превыше всего, а выполняться которым приходится на машинах с однотипными процессорами. В таком случае может быть оправданной и разработка части кода на ассемблере (всё писать смысла нет -- правило 90%-10%, думаю, хорошо известно :) ).
     
  19. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.242
    SII
    обычно обширный кругозор означает низкий уровень знаний по каждому разделу в отдельности - другой вопрос, если человек гений, тогда он может поддерживать достойную глубину знаний по большому кол-ву направлений. и вообще, я за то, чтобы учить человека получать знания самостоятельно, а не набивать его как жвачное овсом.
    сие подходит для локалки, а для распреда в инете только ява или аналоги.
     
  20. bugaga

    bugaga New Member

    Публикаций:
    0
    Регистрация:
    1 июл 2007
    Сообщения:
    361
    угу.. еще скажи што песал под это гамно, и вышло просто, и буков пришлось писать мало))))
    Ну тут смотря на чем настоять. ;)
    Не все же такое быдло ;)