Народ, често говоря зачитался веткой - стало очень нтересно. Вы уж прости за глупый вопрос, но на чем написан Windows ? И на чем пишут совеременные игры ?
Винда вроде на C, C++, ассемблере. Точно не знаю, но, собственно, других вариантов и нет. Всякие прикладные программы (типа блокнота, калькулятора) в составе винды - тут думаю на чем угодно, но большинство, скорее всего, на том же C++. Игры тоже на С/С++, asm + там всякие DirectX, OpenGL API. Вообще, все что касается высокой производительности - тут кроме Cи и asm'a просто нет других вариантов.
Spesh_75 На шарпе тоже можно игрушки писать, но там есть некоторые оганичения в сравнении с С++ да и скорость будет ниже. Имхо, связка DX + С++ самая удобная.
Я за кромпьютером больше 30 лет (много чего повидал и попробовал). Совет тем, кто только начинает и ищет короткий путь в профессионалы: Можно, конечно, начинать с C#, Java или С++, но прежде чем вы скомпилируете первую свою програму и запустите её, ивидев долгожданное "Hello World!", могут пройти недели. А хочется, чтобы сразу, и чем быстрее, тем - лучше. Выбор C#, Java или С++, в этом смысле весьма неудачен. Программировать в них сложно. (Слишком много нужно знать.)
Если только начинаете, и хотите получить результат быстро, начните с HTML (а потом -> JavaScript).
В работе я пользуюсь far-менеджером. (Советую его вместе с Colorer.) В Far-е (или в любом другом командоре) создайте файл (Shift+F4) с именем myFirst.html. Сохраните (F2) в нём текст "Hello World!", и выйдите из редактора (F10). Нажмите Enter - запустится браузер, в котором вы увидите свой текст "Hello World!". Вернитесь к редактированию файла (F4). Измените текст: "Hello <B>W</B>orld!". Сохраните изменения (F2). Не выходя из редактора, перейдите в окно браузер, обновите окно. Текст должен измениться: "Hello World!".
Можете себя поздравить - вы спздали первую свою ХТМЛьку. Вы в одном шаге от того, чтобы сделать свой собственный сайт.
Пара <B></B> - назыаются тегами. Их (разных) много. Изучай тетеги. Пробуйте, и не спешите переходить на JavaScript. Основательно изучите HTML и CSS, и только потом переходите к JavaScript. Изучив JavaScript (самый простой из Си-подобных) вам легко будет освоить более сложные языки. Далее рекомендую Java1. Она маленькая, с исходниками, по которым вы сможете учиться у профессионалов искуству объектноориентированного программирования. Изучив Java1, легко освоите программирование мобильников (использую J2ME).
Не начинайте учится программированию с Си! Си - процедурный язык. Если вы научитесь программировать на Си, вам будет трудно переучиться на объектноориентированные языки.
C#, С++, PHP, XSLT - обойдите стороной. У всего этого либо весьма узкая область применения, либо технологии бесперспективные или - устарели. (То, что не работает в браузере и в мобильных устройствах, не имеет перспектив.)
1) html язык разметки, к программированию он ни как не относится. Можно с тем же успехом набрать в Word'e : Hello World. Изучать стили, выбор шрифтов и т.п. Только при этом вы программистом, даже самым-самым начинающим не станете.
2) ничего не имею против начать изучение со скриптовых языков, но порекомендовал бы начинать с Python или Ruby. На них можно делать все от использования их интерпретаторов как простого калькулятора, написания различных мелких утилиток, до больших графических программ и той же веб разработки.
3)
Цитата:
C#, С++, PHP, XSLT - обойдите стороной. У всего этого либо весьма узкая область применения, либо технологии бесперспективные или - устарели. (То, что не работает в браузере и в мобильных устройствах, не имеет перспектив.)
PHP сейчас стандарт веб разработки (вот даже этот форум написан на пхп, и вообще каждый второй сайт), язык и инфраструктура с ним связанная (фреймворки и библиотеки, средства разработки и т.п.) активно развиваются, технологии обработки XML (включая XSLT) активно используются везде и в десктопе, и в вебе. На С#, и в целом на технологию .NET, сейчас все больше и больше ориентируется Microsoft, и это не только Windows, но и их веб технологии и мобильные устройства. C и C++ стандарт для задач где важна скорость, эффективность и тотальный контроль над всеми ресурсами, для них очень много различных библиотек. И хотя С++ стали меньше применять для быдлокодирования формочек и т.п, но он все так же по прежнему применяется в многих сферах требующих высокой эффективности, это и разработка софта работающего с оборудованием, и разработка 3D игр, и сложные веб сервисы (например абсолютно все топовые поисковые сервисы типа Гугла и Яндекса на написаны с применением С++). Также походу таварищу незнакомы CGI / FastCGI, и что помимо дешевых мобильников с J2ME есть смартфоны, плееры, навигаторы, на которых программируется или же вообще только в основном на C++, или же его применение может сильно помочь в работе со сложными вещами. По факту это большинство мобильных платформ (перечислю их в порядке от большей завязанности на С++, к меньшей): Maemo, Windows CE / Window Mobile, iPhone, Android.
html язык разметки, к программированию он ни как не относится. Можно с тем же успехом набрать в Word'e : Hello World. Изучать стили, выбор шрифтов и т.п. Только при этом вы программистом, даже самым-самым начинающим не станете.
Ошибаетесь. HTML (точнее - DHTML)- средствотразработкти интерфейсов. Windows (начиная с Win98) предоставляет технологию HTA. (Переименуйте любую ХТМЛьку в расширение .hta и запустите - смотрите что получится.) HTML (+JScript) - мощьное средство программирования. И далеко не единственное в Windows.
Вот ещё:
Код:
PiD=0; for(var i=0,n=1,a=1,b=1,c=5,d=3; i < 11; i++,n*=16,a+=8,b+=2,c+=8,d+=4){ l = (120*i*i+151*i+47); PiD += l / (a * b * c * d * n); WScript.StdOut.WriteLine(i+" "+l+" "+a+" "+b+" "+c+" "+d+" "+n) } WScript.StdOut.WriteLine(PiD)
Скопируйте этот текст в файл "pi.js" Потом наберите в командной строке
cscript pi.js >res.txt
Результат ищите в файле res.txt
Вам только кажется, что вы - программисты, поскольку рядом нет профессионалов, сравнивать не скем. Вот и загибаете пальчики.
Программистом себя нынче считает каждый, кто недоказал обратное.
Код:
PHP сейчас стандарт веб разработки ...
PHP должен был умереть ещё в прошлом тысячилетии, когда появился DHTML. Совственно PHP - то же - динамический HTML, но - генерит он динамически HTML на серевере. А скажите ка: зачем генерить ХТМЛ на серевере (ведь при этом данные, которые придётся прокачать через Internet, в объёме увеличиваются в разы, замедляя в разы передачу этих данных клиенту), если это можно сделать в браузере? Зачем генерить "Корзину Покупателя" на сервере, если в браузер уже загружены прайсы Internet-магазина, и всё необходимое есть, чтоб сразу обсчитать итоговую сумму и скидки? (Зачем покупателя заставлять ждать, чтоб ваш ПХПшный движек её обсчитал?)
PHP жив усилиями чайников. Вашими усилиями, господа. Именно вы рекламируете (пудря мозги несведущим гражданам) отстойное ПО, типа Жоперы и Мазилы.
У вас слишком мало опыта, чтоб делать громкие заявления. Вам нужно помолчать, выслушивая ответы на ваши вопросы старших товарищей.
Цитата:
С++ ... по прежнему применяется в многих сферах требующих высокой эффективности, это и разработка софта работающего с оборудованием, и разработка 3D игр
Это потому, что толковых программистов нет. В Windows (начиная с Win98) в IE (начиная с IE5.5) включена технология VML, которая позволяет реализовать в HTML такие игры (к примеру) как КонтрСтрайк. Десять лет назад это можно было сделать! Этот куб: http://masterov.qptova.ru/demo/vml/3dcube/index.html вращается, используя 3D-математику видеокарты уже десять лет! Вы просто об этом не знаете.
Уже десять лет в браузере можно создавать 3D-сайты. Почему вы это не сделали? Не потому ли, что пользуетесь Жоперой, или ещё какой поделкой вроде неё?
Цитата:
помимо дешевых мобильников с J2ME есть смартфоны, плееры, навигаторы, на которых программируется или же вообще только в основном на C++
"Только" или - "в основном"?
Сколько платформ, которые програмируются исключительно C++, и не поддерживают Java?
Nokia - самые распространённые модели телефонов и смартфонов. Их можно программировать посредством С++. Но кто это станет делать, если есть JDK от Nokia? Я хочу, чтоб мои програмы работали не только в Nokia, но и в Sony-Erocson, и в других мобильниках. То, что я скомпиляю на С++ для Nokia - будет работать в Sony-Erocson? Кнечно - нет! А моя Java програма - будет работать везде, где Java есть. (А где Java нет?)
C++ - неоправдано сложен, что запутывает начинающих программистов. А из-за того, что C++ содержет в себе две взаимоисключающие технологии (ООП и процедурную), те программисты, кто начинал программировать на C++ - до старости не могут въехать в ООП. (Слова правильные говорят, но - не понимают сути, программируют в процедурах, поскольку иначе не научились.) Java просто не даёт возможности писать в процедурах. Там такой возможности просто нет (в отличии от С++). Поэтому тот, кто начинал программировать в Java - мыслит правильно - в объектах.
Последний раз редактировалось Masterov 05.03.2010 17:20, всего редактировалось 1 раз.
Advanced member
Статус: Не в сети Регистрация: 30.08.2003 Откуда: Санкт-Петербург
Masterov
Цитата:
...А из-за того, что C++ содержет в себе две взаимоисключающие технологии (ООП и процедурную), те программисты, кто начинал программировать на C++ - до старости не могут въехать в ООП. (Слова правильные говорят, но - не понимают сути, программируют в процедурах, поскольку иначе не научились.) ... мыслит правильно - в объектах.
Основная проблема не в этом. Проблема в том, что процедурное программирование для маленьких прикладных задач эффективнее (напр., быстренько написать программу-калькулятор или транслятор из одного типа файлов в другой). И оно эффективнее в плане быстродействия (нет созданий объектов, копирований и пр.). ООП действительно сложнее. Не только потому что нужно много какие языковые особенности держать в голове, но также и потому что никто не умеет грамотно эти самые объекты описывать (их интерфейсы). Как следствие - при увеличении объема кода эти отгрехи в дизайне (ну, или, скажем, архитектуре) объектов проявляются, причем уже что-либо делать поздно. Вот.
_________________ {:€ дед в законе :-) нородный окодемег почетный пользователь OpenSuSE 11.3 Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad
Проблема в том, что процедурное программирование для маленьких прикладных задач эффективнее...
Согласен. Код, который я привёл (вычислет Пи) пример тому и поддверждение. Но речь то идет о стратегии в выборе пути в профессионалы начинающему программисту. Если начинающий программист вляпается в С++ или PHP - это сделает из него программиста-инвалида на голову. Он научится программировать неправильно, а переучиться будет куда сложнее, чем научиться с нуля.
Я сам был не одно днсятилетие процедурником, прежде чем научился мыслить в объектах. (Очень сложно было изменить способ мыслить.)
Advanced member
Статус: Не в сети Регистрация: 16.11.2006 Откуда: Всегда!
Root Когда очередная антимонопольная компания отделит java от браузеров
Ну так уже написано или будет написано еще. И инструментарий для написания для написания. В современные мультимедийные процессоры давно уже добавляется аппаратный блок Java, но ведь он не сам по себе пока еще .
Masterov Трансляторы для своих супер-пупер языков на чем писать будете?
Этому вы предлагаете учиться начинающему программисту? (Писать трансляторы?)
Java не вместо Си, а - вместе с Си.
Ядро Java написано на Си, и это - правильно. Но прикладные програмы писать на Си и С++ - неправильно.
Ядро операционки пишут на Си(С++), это - правильно. При создании ОС тратится ума времени и средств (порой - сотни миллионов зелёных) на то, чтобы выловить глюки. У прикладного программиста на это времени и средств просто нет. Он должен быстро сделать работающую (везде) программу, которая не глючит. Для этого нужны HTML, JavaScript и Java.
С помощью С++ быстро и качественно не напишешь. С помощью С++ можно писать медленно и глючно, и будет это работать только на той железке, для котоой компимлятор написан.
Добавлено спустя 2 минуты 28 секунд:
Root писал(а):
zauropod а зачем трансляторы писать, когда все уже есть?
Правильный вопрос.
За трицать лет программирования (профессионального) я познакомился с неодним десяткоф проффи. Ни один из них трансляторов не писал.
zauropod - Вы - писали?
Последний раз редактировалось Masterov 05.03.2010 14:50, всего редактировалось 1 раз.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 43
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения