Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/546: Рейтинг темы: голосов - 546, средняя оценка - 4.63
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
10.10.2010, 11:58
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от NightmareZ Посмотреть сообщение
а потому что используются в программе вызовы Win32 функций.
вот. И это значит, что не любое дотнет-приложение будет работать под Mono. Пусть лучше майкрософт бросит свой .net framework и займётся Mono - может, будет какой-нибудь толк...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.10.2010, 11:58
Ответы с готовыми решениями:

Какой язык программирования лучше? (3)
Продолжение темы

Какой язык программирования лучше? (2)
Продолжение темы. Начало

Какой язык программирования лучше для создания игры???
Какой язык программирования лучше для создания игры, С++ или С#???

991
Заблокирован
10.10.2010, 12:00
Цитата Сообщение от Vladiator Посмотреть сообщение
вот. И это значит, что не любое дотнет-приложение будет работать под Mono. Пусть лучше майкрософт бросит свой .net framework и займётся Mono - может, будет какой-нибудь толк...
Дык, любое приложение, использующее вызовы Win32-функций, не будет работать под линуксом напрямую (не рассматривая всякие Wine и прочие эмуляторы). Нужно использовать лишь возможности, предоставляемые дотНетом (а именно, подмножество, реализованное и в моно) - и всё будет хорошо. Другое дело, что многим разработчикам нафик не нужен линупс, потому они и не заморачиваются.

Цитата Сообщение от Vladiator Посмотреть сообщение
Пусть лучше майкрософт бросит свой .net framework и займётся Mono - может, будет какой-нибудь толк...
Зачем это Майкрософту?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
10.10.2010, 12:33
Цитата Сообщение от NightmareZ Посмотреть сообщение
Вообще-то это свойства именно платформы, а не языка C#
В "обычных" языках в код попадают переменные и процедуры, но типы не попадают (ибо они там не нужны). Но ничего не мешает это сделать. Придумываем новый язык, делаем с него нативный компилятор, который помимо переменных и процедур в код сбрасывает ещё и типы (а точнее, информацию о типах). Вот и получили тоже самое без платформы .net

Цитата Сообщение от NightmareZ Посмотреть сообщение
Тебе привести код тех же самых действий на VB.NET, C++/CLI и F#? Или поверишь мне на слово?
На слово поверю чему?

Цитата Сообщение от NightmareZ Посмотреть сообщение
Вообще-то это не недостаток, это фича. Если использовать ассемблерные вставки, код станет привязан к платформе, а так в MSIL'е он по сути дела от платформы независим.
А я и не пытаюсь сказать, недостаток это или преимущество. Ты мне всё пытаешься показать конструкции, которые типа якобы являются свойствами платформы. Я тебе объясняю, что это свойства языка и компилятора, а не свойства платформы. В качестве контраргумента привёл пример, который действительно не выражается на .net'е. Не потому что языки не позволяют, а потому что это характерная особенность платформы .net.
0
Заблокирован
10.10.2010, 12:46
Цитата Сообщение от Evg Посмотреть сообщение
В "обычных" языках в код попадают переменные и процедуры, но типы не попадают (ибо они там не нужны). Но ничего не мешает это сделать. Придумываем новый язык, делаем с него нативный компилятор, который помимо переменных и процедур в код сбрасывает ещё и типы (а точнее, информацию о типах). Вот и получили тоже самое без платформы .net
Ничего не мешает. Только вот кроме добавления информации типов нужно ещё много чего добавить, чтобы достичь возможностей C#. А когда добавишь - получишь новую платформу, аналогичную дотНету или джаве.

Цитата Сообщение от Evg Посмотреть сообщение
На слово поверю чему?
Ну ты сказал, что это свойства языка, а не платформы. Я же тебе сказал, что это свойства платформы, а не языка и предложил показать, что на всех других яп под эту платформу, тоже генерируются метаданные. Более того, без метаданных твоё приложение не будет работать - и это опять таки требование платформы, а не языка.

Цитата Сообщение от Evg Посмотреть сообщение
А я и не пытаюсь сказать, недостаток это или преимущество. Ты мне всё пытаешься показать конструкции, которые типа якобы являются свойствами платформы. Я тебе объясняю, что это свойства языка и компилятора, а не свойства платформы. В качестве контраргумента привёл пример, который действительно не выражается на .net'е. Не потому что языки не позволяют, а потому что это характерная особенность платформы .net.
Ну вот, сам же говоришь, что это характерная особенность платформы.
0
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
10.10.2010, 13:03
Цитата Сообщение от NightmareZ Посмотреть сообщение
VB.NET, C++/CLI и F#
ты бы ещё сказал, что возможность вывести "Hello World" - особенность данной платформы. Если у языков можно сделать что-то одинаковое, это может быть простым совпадением.
0
Заблокирован
10.10.2010, 13:05
Цитата Сообщение от Vladiator Посмотреть сообщение
ты бы ещё сказал, что возможность вывести "Hello World" - особенность данной платформы.
Ну вообще-то да, возможность вывести "Hello World" - особенность данной платформы, а не обсуждаемых языков. Реализуется она с помощью класса Console, который является частью платформы, а использоваться может любым языком.

Цитата Сообщение от Vladiator Посмотреть сообщение
Если у языков можно сделать что-то одинаковое, это может быть простым совпадением.
Почитай что-нибуть про основы дотНета, прежде чем вот такое писать.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
10.10.2010, 13:06
Цитата Сообщение от NightmareZ Посмотреть сообщение
Ничего не мешает. Только вот кроме добавления информации типов нужно ещё много чего добавить, чтобы достичь возможностей C#. А когда добавишь - получишь новую платформу, аналогичную дотНету или джаве.
Нет. Мы получим нативный код. Пусть это будет огромный набор библиотек или как угодно, но это будет нативный код. Потому что для поддержки этого вовсе не нужно строить какую-то систему, работающую на байткоде

Цитата Сообщение от NightmareZ Посмотреть сообщение
Ну ты сказал, что это свойства языка, а не платформы. Я же тебе сказал, что это свойства платформы, а не языка и предложил показать, что на всех других яп под эту платформу, тоже генерируются метаданные. Более того, без метаданных твоё приложение не будет работать - и это опять таки требование платформы, а не языка.
Свойство платформы .net в данном случае выражается в том, что все языки программирования под .net работают в одних и тех же терминах на низком уровне. Т.е., как я уже говорил несколько постов назад, они работают на одном и том же API (или ABI - не суть). Всё это можно сделать и в нэйтив коде. Т.е. возможность работать с типами как с материальными данными (насколько я понял, именно это ты называешь "метаданные") - это не есть свойство байткода, это есть свойство некоторых программных соглашений, которые можно реализовать и в нативном коде. Другое дело, что Си++ в том виде, в котором сейчас он есть, не даст работать с этим удобно, потому как работа будет в виде вызовов библиотечных функций. Именно это я и назвал свойством языка. И именно потому говорил, что можно придумать некое абстрактное расширение языка Си++, в котором ввести метаданные и реализовывать их в нативном коде (причём на любую архитектуру).

Цитата Сообщение от NightmareZ Посмотреть сообщение
Ну вот, сам же говоришь, что это характерная особенность платформы.
Отсутствие ассемблерных вставок - это практически физическое ограничение, из-за которого нельзя в .net реализовать конструкцию, существующую в языках программирования под нэйтив код. В обратную сторону таких ограничений нет: всё то, что реализуемо в байткоде, реализуется и на нэйтив коде.

Нынешняя реализация .net'овских языков через байткод - это не потому, что это даёт какие-то новые возможности. Единственная объективная причина для байткода - это переносимость, которая в теории реализуется на любую архитектуру (чтобы можно было об этом громко кричать), но на практике существует лишь в ограниченных количествах типа intel-windows и intel-macos. Ну и куча всяких субъективных и политических причин, которые носят не технический, а финансовый характер
0
 Аватар для HIMen
4340 / 1509 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
10.10.2010, 16:28
Цитата Сообщение от Evg Посмотреть сообщение
Отсутствие ассемблерных вставок - это практически физическое ограничение, из-за которого нельзя в .net реализовать конструкцию
С++\CLI - пожалуйста вставляй ассемблерные вставки
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
10.10.2010, 18:37
Цитата Сообщение от HIMen Посмотреть сообщение
С++\CLI - пожалуйста вставляй ассемблерные вставки
Всё-таки есть? Тогда почему в C# их нет?
0
Заблокирован
10.10.2010, 18:38
Цитата Сообщение от Evg Посмотреть сообщение
Всё-таки есть? Тогда почему в C# их нет?
Потому что они там никому не нужны.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
10.10.2010, 18:50
Цитата Сообщение от NightmareZ Посмотреть сообщение
Потому что они там никому не нужны.
Достойный исчерпывающий ответ.

Почему в Си\Си++ нет встроенных конструкций для работы с метаданными? Потому что там они никому не нужны. Таки ответом можно поставить точку в любом споре и любом вопросе. Действительно удобно решить всё за всех и сказать, что никому не нужно

И для чего тогда разработчики пошли поперёк собственной же концепции переносимого байткода и ввели ассемблерные вставки в один из языков?
0
Заблокирован
10.10.2010, 18:53
Цитата Сообщение от Evg Посмотреть сообщение
Почему в Си\Си++ нет встроенных конструкций для работы с метаданными?
Я совсем не в курсе, но что-то краем уха пару раз слышал, что в будущем Стандарте C++ таки будут атрибуты.
0
web dev
 Аватар для TBIKC
107 / 93 / 9
Регистрация: 23.09.2010
Сообщений: 737
12.10.2010, 20:13
Цитата Сообщение от NightmareZ Посмотреть сообщение
Я совсем не в курсе, но что-то краем уха пару раз слышал, что в будущем Стандарте C++ таки будут атрибуты.
И когда наступят изменения C++, новшеста или "эволюция" ?
Есть какие либо источники - данные ?
0
Заблокирован
12.10.2010, 20:26
Цитата Сообщение от TBIKC Посмотреть сообщение
И когда наступят изменения C++, новшеста или "эволюция" ?
Ну многие фичи уже сейчас есть в нормальных компиляторах. Например, в Visual C++ 2010.

Цитата Сообщение от TBIKC Посмотреть сообщение
Есть какие либо источники - данные ?
Хотя бы википедия.
0
web dev
 Аватар для TBIKC
107 / 93 / 9
Регистрация: 23.09.2010
Сообщений: 737
12.10.2010, 20:33
Цитата Сообщение от NightmareZ Посмотреть сообщение
Ну многие фичи уже сейчас есть в нормальных компиляторах. Например, в Visual C++ 2010.



Хотя бы википедия.
English - i do not understand
0
Заблокирован
12.10.2010, 20:36
Цитата Сообщение от TBIKC Посмотреть сообщение
English - i do not understand
Ну там же и на русском статья есть
0
web dev
 Аватар для TBIKC
107 / 93 / 9
Регистрация: 23.09.2010
Сообщений: 737
12.10.2010, 20:38
Цитата Сообщение от NightmareZ Посмотреть сообщение
Ну там же и на русском статья есть
Убейте меня - туплю

А что сразу то не дал на рус ? )
0
Заблокирован
12.10.2010, 20:42
Цитата Сообщение от TBIKC Посмотреть сообщение
А что сразу то не дал на рус ? )
Для меня - дикость, когда программист не знает английского
Да и англоязычная википедия обычно более полная и адекватная.
0
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
12.10.2010, 20:43
Цитата Сообщение от NightmareZ Посмотреть сообщение
Visual C++ 2010.
это нормальный компилятор? Оо
Цитата Сообщение от NightmareZ Посмотреть сообщение
дикость, когда программист не знает английского
первый +1 тебе...
0
web dev
 Аватар для TBIKC
107 / 93 / 9
Регистрация: 23.09.2010
Сообщений: 737
12.10.2010, 20:45
Цитата Сообщение от NightmareZ Посмотреть сообщение
Для меня - дикость, когда программист не знает английского
Да и англоязычная википедия обычно более полная и адекватная.
Я начинающий программист тока 1 курса универа где только предметы обычные ещё...

И сам изучаю всё наперёд ...

Так что уж извините
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.10.2010, 20:45

Какой язык программирования мне ст0ит учить?
... оканчивю мат. школу, и хочу поступить на программиста. Программирую (неплохо) на Паскале. Что мне нужно? Може С++? Или...?

Какой язык лучше / прибыльнее?
И так, мне 16 лет, седня днем пойду подавать документы в техникум на программиста соответственно. И назрел вопрос какой язык...

Какой язык веб-программирования выбрать? Плюсы\минусы
Вопрос что ни на есть из раздела священных, но все же... Какой язык веб-программирования кто предпочитает? У кого какие плюсы и...

Какой язык лучше изучать C или C++
Всем здравствуйте! Я новичок в программировании(знаю только Паскаль). Сейчас выбираю, какой язык учить: С или С++. Подскажите, пожалуйста,...

Какой язык лучше изучать с нуля?
Привет Всем!! Ребята подскажите пожалуйста какой язык лучше изучать с нуля ????? За ответ заранее спасибо!!!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
300
Закрытая тема Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru