Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Екатеринбург
Avaddon
Цитата:
Согласен, только вот Микрософт не собирается переводит свои разработки с C++ на Шарп, и поддержук CLR в Longhorn (упаси нас от его пришествия!) постепенно упрощает.
Это только потому, что у них там десятки миллионов строк кода. Они долго будут переползать на новую платформу.
Цитата:
Ага, и операционки будем писать на Visual Basic
Как только отменят знаменитый AS IS и разработчики операционок начнут платить за ущерб от взлома - они будут писать хоть на бейсике - лишь бы уйти подальше от Си.
Цитата:
Ни один производитель специфичного оборудования не будет встраивать в свою апаратуру P4 если вполне хватает 386
Видел я эту аппаратуру - там на входе обычно стоит обрезанный Си с кучей глюков. И живет эта платформа несколько лет, после чего на ей смену приходит другой уродец. Для обучения програмированию это имхо не годится.
_________________ Земля не может, не может не вращаться, А мур не может, не может не мурчать!
Member
Статус: Не в сети Регистрация: 15.04.2004 Откуда: Москва
Raul
Цитата:
Видел я эту аппаратуру - там на входе обычно стоит обрезанный Си с кучей глюков. И живет эта платформа несколько лет, после чего на ей смену приходит другой уродец. Для обучения програмированию это имхо не годится.
Там, обычно, стоит нормальный QNX с поддержкой нормального gcc.
А вот глюков там нет вообще. По причинам вполне понятным. Ибо, зачастую, эти системы обеспечиваю безопасность людей и оборудования.
А если ты говоришь о "безопасности", то мне ничего не мешает в шарпе (в отличии от Жабы) сказать unsafe и все, вся "безопасность" CLR построится и бодро, с песнями пойдет в деревянный лес.
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Екатеринбург
BW4ever
Цитата:
можешь дать линк на эти расчетные программы?
Я эти программы в Интернет не выкладываю - они делались под заказ. Эксперимент, о котором я говорю - можно поставить на любой расчетной программе самостоятельно - если там нет GUI и классов, то переход на C# достаточно прост.
Цитата:
С++ уже так же далек от компилируемого языка
Приниципиально неверно - это компилируемый язык, причем очень близкий к машинным кодам. Можно писать программу на C++ и предствлять себе, в какие инструкции она транстируется.
Цитата:
у компилируемого языка не может вылетать сообщение об ошибке на такой-то инструкции из такого-то исходного файла, как это имеет место в С++
Очень даже может быть, если компляция велась в режиме Debug.
_________________ Земля не может, не может не вращаться, А мур не может, не может не мурчать!
Member
Статус: Не в сети Регистрация: 15.04.2004 Откуда: Москва
BW4ever
Цитата:
кстати, если все так и обстоит, то С++ уже так же далек от компилируемого языка, как и VB и прочая шняга. в пользу этого довода говорит то, что у компилируемого языка не может вылетать сообщение об ошибке на такой-то инструкции из такого-то исходного файла, как это имеет место в С++
А директивами компилятора __FILE__ и __LINE__ ты пользоваться не пробовал? или хотя бы, почитать про них. Raul
Цитата:
Очень даже может быть, если компляция велась в режиме Debug.
Member
Статус: Не в сети Регистрация: 19.09.2003 Откуда: USSR\Rostov
А в какие иструкции транслируется след. программа:
main()
что то мне подсказывает, что она транслируется в 4 с чем-то килобайта хлама
а вот в какие инструкции транслируется
org 100h
xor ax,ax
ret
я могу сказать абсолютно точно
жду список команд программы main()
_________________ Why are you here?
Do you have anything worth living for?
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Екатеринбург
Цитата:
Там, обычно, стоит нормальный QNX с поддержкой нормального gcc.
Я подумал, что речь идет о спецпроцессорах, а ты о промышленных компьютерах. Слушай, неужели ты в самом деле предлагаешь учить программированию в QNX и gcc?
Цитата:
А вот глюков там нет вообще.
Да нет, их там тоже полно. Просто они не очень заметны, потому как систему очень долго вылизывали. Это не заслуга инструмента (С++), а заслуга разработчиков.
Цитата:
то мне ничего не мешает в шарпе (в отличии от Жабы) сказать unsafe
unsafe можно запретить
_________________ Земля не может, не может не вращаться, А мур не может, не может не мурчать!
Последний раз редактировалось Raul 26.07.2004 12:49, всего редактировалось 2 раз(а).
pushl %ebp movl %esp,%ebp movl 1,%eax popl %ebp ret
Добавлено спустя 4 минуты, 33 секунды: Raul
Цитата:
Да нет, их там тоже полно. Просто они не очень заметны, потому как систему очень долго вылизывали. Это не заслуга инструмента (С++), а заслуга разработчиков.
...вылизывали и тестировали. Просто коммерческие приложения и ОС так жестоко тестировать не будут (по причине высокой стоимости).
Цитата:
Я подумал, что рачь идет о спецпроцессорах, а ты о промышленных компьютерах. Слушай, неужели ты в масом деле предлагаешь учить программированию в QNX и gcc?
На спецпроцессорах обычно, есть только ассемблер, т.к. CRT (C runtime library) для них отсутствует.
А насчет обучения... Тут тяжело сказать. Если совсем отказаться от Си, то кто будет писать софт для управления реакторами, например?
Или ты думаешь, что Мелкомягкие выпустят ОС c высочайшей надежностью? И сколько она будет стоить?
Member
Статус: Не в сети Регистрация: 15.04.2004 Откуда: Москва
BW4ever Ты не забудь:
1. Инициализация CRT.
2. Статическая линковка CRT
Ты отключи CRT (/NODEFAULTLIB) и посмотри на результат.
P.S.
Размер ассемблерного кода примера
Код:
int main() { return 1; }
800 байт.
P.P.S. Я все примеры привожу в синтаксисе AT&T asm
Да ребят, всего на 2 часа отключился, а тут уже целый лист прибавился.
Avaddon - отец! Полностью с ним согласен.
Raul, по твоему на чем написаны виртуальные машины и драйвера для устройств? Да и, вообще, у явы и CLR есть своя область применения, которая абсолютно не пересекается с CИ! Даже идиоту понятно, что писать какие-то приложения в интернет на СИ это долго и неудобно; но писать системные программулины на ЯВЕ - это перебор! А каких ты говорил дырах в программах на СИ? Знаешь все уже около 40 лет пишут на СИ и еще никто то него не отказывался, так что умрет он не скоро(так же как и UNIX), более того - боюсь он никогда не умрет. Потому как, уж очень он удобен для написания программ, где важно быстрое получение результата и где неважен интерфейс. Скажу еще, что ассемблер, вообще, никогда не умрет. И всегда будут нужны программеры, которые могут программировать на асме! (Насчет дыр опять) Linux написан полностью на СИ - чего-то там дыр пока нашли не много. Главное мозги программиста, а если жаловаться на ошибки, тогда надо программить на VB. Хочу заметить, что программисты изначально(вообще-то) были нужны, что бы думать и разрабатывать , а не для того что бы рисовать HTML странички и окошки для виндоуса. Смешно даже.
Да и глупо спорить обо всем том. Потому, что у этих языков разные области применения, настолько разные, как монитор и принтер.
Добавлено спустя 6 минут, 24 секунды: Короче, люди. Должны быть программисты умеющие программировать на ассемблере, СИ, Яве, VC++, VB. Просто каждый должен определиться, что ему нравится. Но то, что программировать на СИ и языках низкого уровня сложнее и требует большего кол-ва мозгов, чем вижуал программирование для пользователей - это точно! Кто не согласен?
Member
Статус: Не в сети Регистрация: 06.05.2004 Откуда: Одесса, Украина
Shadow
Думаю классическое начало не повредит в любом случае -
С++, Visual C++
Avaddon BW4ever Raul
Вы конечно крутые перцы, // я лично в асемблере 0 но чел спрашивает, что ему учить, а точнее с чего начинать.
Так что не отвлекайтесь.
Для рубилова типа Visual Basic VS Assembler создавайте отдельную ветку.
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Екатеринбург
Avaddon
Цитата:
Если совсем отказаться от Си, то кто будет писать софт для управления реакторами, например?
Собственно речь идет не об отказе от С, а о выборе его диалекта для целей обучения - потому что все языки группы С (C++/C#/Java) имеют много общего. А если посмотреть в корень (т.е. в виртуальную машину, которая является динамическим транслятором промежуточного кода MSIL в код x86), то и пресловутый Visual Basic тоже недалеко уходит от этой группы, потому что в VC7 его исходники тоже транслируются в MSIL. Я поддерживаю C# и Java - потому что это новые языки, на которых можно изучить современные технологии - виртуальную машину, контроль индексов, сборку мусора, интерфейсы, процессы и многих другие актуальные вещи, о которых С++ не дает ни малейшего понятия. А что касается реакторов - то вопрос решается просто: наняли - изучил - написал. В конечном счете, почти все программисты - полиглоты .
Цитата:
Или ты думаешь, что Мелкомягкие выпустят ОС c высочайшей надежностью
А почему нет? Деньги есть, а разработчиков можно нанять (кстати, они именно так сделали Microsoft.NET - переманив создателей Delphi). Вопрос в том, что сверхнадежная ОС не выдержит конкуренцию с Windows и Linux, т.к. не будет подддерживать унаследованный софт. Т.е сначала надо приучить программистов писать для .NET а уже потом можно будет отринуть прошлое. Если я правильно себе все представляю, то скоро .NET станет 64-разрядной и тогда появится мода на компьютерные игры для NET, сетевые программы для NET и т.п.
Цитата:
И сколько она будет стоить
Массовый продукт всегда стоит недорого - потому что его стоимость размазывается на многомиллионый тираж.
Добавлено спустя 5 минут, 20 секунд: Lego_12239
Цитата:
Raul, по твоему на чем написаны виртуальные машины и драйвера для устройств
Ну вот, парню надо учиться программировать, а ты его сразу в драйверы. Да их пишут такие крутые парни, до уровня которых еще расти и расти!
Цитата:
идиоту понятно, что писать какие-то приложения в интернет на СИ это долго и неудобно
Так они почти все на СИ иа написаны! И это в самом деле идиотизм.
_________________ Земля не может, не может не вращаться, А мур не может, не может не мурчать!
Member
Статус: Не в сети Регистрация: 14.04.2003 Откуда: Минск, Беларусь
BW4ever
Цитата:
я могу сказать абсолютно точно
Цитата:
org 100h xor ax,ax ret
Зуб даешь что точно? Колись, будет 66h в команде из второй строчки? И последняя строчка у тебя RETF или RETN?
Добавлено спустя 8 минут, 11 секунд: Raul
Цитата:
то скоро .NET станет 64-разрядной и тогда появится мода на компьютерные игры для NET, сетевые программы для NET
Более того, это достоинство IL/байткода - с новым компилятором в машинный код/JIT он может получить преимущество от исполнения на процессоре которого не существовало на момент написания кода. P.S. С - это Portable Assembler. И не надо на нем писать ничего кроме ядер
Добавлено спустя 16 минут, 52 секунды: Lego_12239
Цитата:
по твоему на чем написаны виртуальные машины и драйвера для устройств
Another issue, not addressed earlier, is the choice of programming language – C is a very powerful language but it is also very easy to create errors.
И учтите, что драйвера пишутся на C лишь из-за временно`й невозможностим писать на чем либо другом (запаришься хедеры транслировать - кстати, за@@@@@ интерфесы ОС в таком виде экпортировать ) - ничего сакрального в их коде по сравнению с кодом на VB к примеру нет.
Как правильно заметил Raul программисты, своим карманом/головой отвечающие за надежность своего кода не пишут на C
Мужики, может я что-то не понял? Короче, вопрос поставлен не корректно(темы). Если парень хочет программировать что-то серьезное, то СИ ему по-любому придется изучить. Каждый язык был придуман для своей ниши. Меня, например, больше прет от программирования на СИ и ассемблере(тогда, когда я управляю машиной и точно знаю, что твориться во время выполнения моей программы). Лично я жутко не люблю Вижуал приложения, потому что не знаю , что там наворочал виндоус, а копаться в распечатках кода считаю глупым, потому как операционка все равно закрытая. Именно поэтому, ктстати, я сейчас сижу про Линуксом, где все жутко логично(меня аж прет), открыто и сплошной СИ, да и постабильней Виндоуса на порядок!
Цитата:
Господа, изучите пожалуйста этот документ.
Прочту попозже, но пока скажу, что не стал бы прислушиваться к мнению коммерческой фирмы, там более с такой славой, как Microsoft. Гораздо более ценно мнение "сторонних, независимых наблюдателей". Да и потом, не знаю как сейчас, но посмотрите, как это все начиналось: парень(Билли Гейтес) ушел с 3 курса института и стал писать операционку(кстати, всем известно, что первую версию DOS'а написал Тим Паттерсон, которого Microsoft переманила с другой компании), причем до этого опыта написания ОС у Microsoft небыло! Так, что толкового может придумать недоучка? Unix, же развивался спокойно, в университетах учеными мужами. Глупо сравнивать комерческий продукт с научным. Тем более, сколько лет то прошло?.. а все еще ОС от Microsoft не догонит по надежности UNIX. А... о чем это я... так вот мнение Microsoft - это не круто!:)
Цитата:
Как правильно заметил Raul программисты, своим карманом/головой отвечающие за надежность своего кода не пишут на C
А я не говорил, что это просто!:) Опять же - деньги...голова... вот людей и сажает на измену, между тем код на СИ может быть гораздо быстрее(тем более на ассемлере).
Короче, серьезные системные продукты не пишутся на ЯВЕ, VB и т.д.
Область применения таких языков, как Java, VB, VC++, сугубо прикладная.
Вот мы опять пришли к вопросу о выборе "типа" программирования. Я больше сюда заходить не буду, глупо это. Надо, чтоб Shedow ответил уже, что ему нужно: прикладное программирвание или системное и хочет ли он это превратить в профессию. Блин, надо вопросы ставить конкретно!
Да он помоему уже все и так для себя решил, так что - ПОРА ЗАКРЫВАТЬ ТЕМУ, НАФИГ!
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
Цитата:
Блин, надо вопросы ставить конкретно! Да он помоему уже все и так для себя решил, так что - ПОРА ЗАКРЫВАТЬ ТЕМУ, НАФИГ!
Lego_12239 ты прав. Короче говоря, так или иначе вопрос заходит о Вижуал программировании, так вот что лучше в этом плане. То что VC++ надо знать и без него не обойтись это понятно. Но вопрос следуещего плана, много раз видел советы, что нужно переходить с Delphi на C# так ли это на самом деле? Также много раз слышал, что будущее за C# и С++ никуда уходить не собираеться. С Веб программированием все понятно думаю всем. Avaddon
Цитата:
P.P.S. Я все примеры привожу в синтаксисе AT&T asm
Сразу становиться понятно что ты также программишь и под nix системы, по этому отстаиваешь С. PS Тут вопрос такой, закрыт ли доступ к IO портам под Linux? И еще в очередной библии по VC++.net прочитал, что мол в VS.net не так важен выбор языка программирования, поскольку все они транслируються в MSIL, а также используют общюю для всех библиотеку классов BCL. Так ли это?
Member
Статус: Не в сети Регистрация: 15.04.2004 Откуда: Москва
Daemon
Цитата:
И еще в очередной библии по VC++.net прочитал, что мол в VS.net не так важен выбор языка программирования, поскольку все они транслируються в MSIL, а также используют общюю для всех библиотеку классов BCL. Так ли это?
Да, при условии, что ты не пишешь на нативном C++. Только для этого случая, трансляция осуществляется в машинный код, в остальных - в MSIL.
SweetLow Если говорить о платформонезависимом коде, то я сторонник исключительно Java. И считаю, что CLR останется как пресловУтый J++ - для написания под Windows и работы под Windows.
О CLR для других платформ я много слышал, но не видел ни одной нормально работоспособной.
Member
Статус: Не в сети Регистрация: 30.04.2004 Откуда: [Omsk Team]
SweetLow
Цитата:
Как правильно заметил Raul программисты, своим карманом/головой отвечающие за надежность своего кода не пишут на C
а на чем? Lego_12239
Цитата:
Так, что толкового может придумать недоучка? Unix, же развивался спокойно, в университетах учеными мужами. Глупо сравнивать комерческий продукт с научным. Тем более, сколько лет то прошло?.. а все еще ОС от Microsoft не догонит по надежности UNIX. А... о чем это я... так вот мнение Microsoft - это не круто!
Недоучка смог придумать систему, на которой работают подавляющее большинство дизайнеров/девелоперов/пользователей и т.д.
Цитата:
Надо, чтоб Shedow ответил уже, что ему нужно: прикладное программирвание или системное и хочет ли он это превратить в профессию.
точно, а то свели тему в "X vs Y"
_________________ forum.omskteam.ru- Все о керамограните
Member
Статус: Не в сети Регистрация: 31.12.2003 Откуда: SaratOFF
Цитата:
Как правильно заметил Raul программисты, своим карманом/головой отвечающие за надежность своего кода не пишут на C
МегаЛОЛЪ!!!!! Shedow Расскажу на своем примере, надеюсь, отвечу на поставленный в заголовке темы вопрос Сначала изучал Паскаль (по школьной программе) - писал средненько, задачи и млкие проги запросто щёлкал, затем перешел на Дельфи - все тоже самое (почти, но не буду перечислять, те, кто пишут - знают), хочу сказать, что лучше начинать с Дельфи, если очень хочется. НО вот когда перешел на С++ - вот тут и начались все проблемы - структура программы совершенно отличается от Дельфи, ладно синтаксис, но все равно очень было тяжело - поэтому однозначно рекомендую для написания по-настоящему качественных программ сразу браться за С++, а не морочить себе голову экспериментами с Дельфи или (что хуже, но проще) ВижуалБэсике. И еще: лучше использовать не ВижуалС++ (MFC - мне лично не по душе), а с БорландСи++ (там библиотечки не такие кривые).
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения