powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Что мне не нравится в .net
25 сообщений из 172, страница 1 из 7
Что мне не нравится в .net
    #35043252
Гость2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это не попытка развязать флейм. Просто может я чего не знаю ? Просьба не писать безосновательно "ты просто ничего не понимаешь, это круто и удобно!". Кстати, к mono претензий было бы еще больше :) Итак, поехали. Что мне не нравится в .net:

1. Байт-код - без комментариев
2. Большой размер Framework'а (по сравнению с JRE например)
Разброс файлов FW по всему диску
Много ненужного в реестре (зачем мне регистрация если я не исопльзую
COM interop ?)
Компиляторы в FW, Asp.net там же - должны ставиться опционально
(всякие CodeDOM провайдеры - туда же)
3. Невозможность установить FW простым копированием и только нужных dll
Широкое использование xml - не human-readable формат
4. Метаданные в exe/dll - увеличивают размер и облегчают декомпиляцию
Они успешно могли бы быть вынесены в отдельные файлы (для разработчиков)
Причем для private элементов не нужны вообще !!!
5. Отсутствие нормальной документации (htm, chm, hlp), как по языку, так и по
библиотеке и внутренней организации VM
6. Отсутствие механизмов раздельной компиляции и модульности - аналога uses
в Delphi, xml файлы проектов которые не понимает vbc например
7. Неоднозначности в языке и новшества, плодящие их (extension methods),
"велосипеды", превозносимые как панацея (Workflow foundation, LINQ)
8. Отсутствие нормальной библиотеки работы с данными (Fetch on demand grid)
9. Запутанные понятия assembly, module, namespace, многоуровневые namespace,
strong name assembly, версии, культуры и прочее
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043262
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость2008Это не попытка развязать флейм.
Она самая. Не нравится - не ешьте.

Рихтера почитайте, если не лень.
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043265
Гость2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не ем :) Лучше Java. Хотя по большому счету то же самое практически... Просто не могу понять, как и почему такая фирма как Microsoft, тем более с теми кто писал Delphi, не сделала многих нужных и очевидных вещей ?
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043271
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость2008
1. Байт-код - без комментариев

Напротив. Мне-бы очень даже хотелось услышать комментарии. Вы проработали систему команд MSIL настолько, что можете её критиковать? Чем вы проводили сравнение? И с чем вы сравнивали?

Или это очередной "пук" в воду?


....
Они успешно могли бы быть вынесены в отдельные файлы (для разработчиков)
Причем для private элементов не нужны вообще !!!

Опишите, как будет работать reflection?

P.S. Год обещает быть интересным.
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043274
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость2008
Широкое использование xml - не human-readable формат

И эти люди будут запрещать нам ковыряться пальцем в носу (c)
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043278
Гость2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton Гость2008
1. Байт-код - без комментариев

Напротив. Мне-бы очень даже хотелось услышать комментарии. Вы проработали систему команд MSIL настолько, что можете её критиковать? Чем вы проводили сравнение? И с чем вы сравнивали?

Или это очередной "пук" в воду?


....
Они успешно могли бы быть вынесены в отдельные файлы (для разработчиков)
Причем для private элементов не нужны вообще !!!

Опишите, как будет работать reflection?

P.S. Год обещает быть интересным.

По поводу байт-кода - скорее второе. Сравнивалось, естественно, с машинным кодом :) Личные впечатления, ну и общее предубеждение. Потому и написал - без комментариев :)

Э... Reflection... Как я понимаю, это то что использует Reflector, то есть некая расширенная RTTI... Так ? А зачем ? Чтобы кто угодно мог ковыряться в моем софте ? Ну а при наличии файлов метаданных - да легко. В библиотеке (dll ну или пусть байткод, без разницы) есть таблица классов (по номерам - 1, 2, 3...), в каждом есть таблица методов, полей и т.п. (тоже по номерам). Метаданные эти номера устанавливают в соответствие именам. В чем проблема-то ? Главное сделать чтобы был окнтроль соответствия версий этих файлов, ну да тут хэши воплне себе подойдут. И естественно, если я отдаю свою библиотеку тому кто будет разрабатывать - я отдам оба файла. А конечному пользователю - один. А за второй, кроме всего прочего, пусть заплатит если оно ему надо :)
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043280
Гость2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропил Гость2008
Широкое использование xml - не human-readable формат

И эти люди будут запрещать нам ковыряться пальцем в носу (c)

А что ? Вот это намного более читабельно (мой древний-древний формат)
Код:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
menu=
(
  item1=
  (
    caption=test
    command=1
  )
  item2=
  (
    caption=test2
    command=2
  )
  separator
)
a=
(
  1
  2
  3
  4
  5
  '
  other=""
)
cc=
(
  "line breaks
   in unnamed parameter
  ` and spaces"
  c="test string with
     line breaks
    `   and spaces at the beginning of line



    "
)
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043282
Гость2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очень извиняюсь, по привычке не тем выделил
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
menu=
(
  item1=
  (
    caption=test
    command= 1 
  )
  item2=
  (
    caption=test2
    command= 2 
  )
  separator
)
a=
(
   1 
   2 
   3 
   4 
   5 
  '
  other=""
)
cc=
(
  "line breaks
   in unnamed parameter
  ` and spaces"
  c="test string with
     line breaks
    `   and spaces at the beginning of line



    "
)
Это файл тестовый, для проверки объекта использовался. Реальные были намного проще :)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Design=
(
  LastAlias="Проект 1"
  UserName=
  (
    "Проект 1"=""
    "Проект 2"=Developer
    testuser=developer
  )
)
LastObject=
(
  "Проект 1"="Тестовые процедуры\Cursor"
)
Runtime=
(
  LastAlias="Проект 1"
  UserName=
  (
    "Проект 1"=""
  )
)

...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043295
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость2008
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Design=
(
  LastAlias="Проект 1"
  UserName=
  (
    "Проект 1"=""
    "Проект 2"=Developer
    testuser=developer
  )
)
LastObject=
(
  "Проект 1"="Тестовые процедуры\Cursor"
)
Runtime=
(
  LastAlias="Проект 1"
  UserName=
  (
    "Проект 1"=""
  )
)


Вопросы к вам.


1)Почему вы не использовали чистый LISP syntax? Ведь концепция к тому близка.

2)Как определить кодовую страницу исходника вашего "древнего-языка" ?

3)Как расширить ваш "древний-язык" подставляемыми макросами (ENTITY) ? Как ввести непечатаемый (unprintable) символ?

4)Как ввести блок текста без структурной разметки (CDATA) ?

5)Огласите неудобства (да-да, они есть!) проектирования парсеров для вашего "древнего-языка".


(В скобках замечу, что для XML - эти вопросы уже
давно решены, но вы, очевидно очень хотите их
решать еще раз.)
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043347
Гость2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonВопросы к вам.


1)Почему вы не использовали чистый LISP syntax? Ведь концепция к тому близка.

2)Как определить кодовую страницу исходника вашего "древнего-языка" ?

3)Как расширить ваш "древний-язык" подставляемыми макросами (ENTITY) ? Как ввести непечатаемый (unprintable) символ?

4)Как ввести блок текста без структурной разметки (CDATA) ?

5)Огласите неудобства (да-да, они есть!) проектирования парсеров для вашего "древнего-языка".


(В скобках замечу, что для XML - эти вопросы уже
давно решены, но вы, очевидно очень хотите их
решать еще раз.)


1. Я не знаком с LISP'ом вообще. Скорее последний вариант сложился после прочтения начальной документации к Lua

2. Так же как ini - текущая кодовая страница системы. Это ведь окнфигурационные файлы, 90% использования - на том же компьютере что и создание, в остальных случаях икто не мешает создать несколько вариантов для разных языков

3. Непечатаемый символ вводится как есть, как правило почти все текстовые редакторы (FAR например) умеют это делать. Кроме того, на уровне программы была поддержка base64. Макросы были не нужны - еще раз повторяю, я говорю про xml в плане файлов типа manifest или System.Windows.Forms.xml. Не буду спорить - как формат для мередачи данных по сети он жизнеспособен. Но в этом случае его плохая читабельность не мешает

4. Весь текст внутри кавычек (да-да, с переносами слов и всем остальным) остается как есть. единственное вмешательство - обратный апостроф, чтобы можно было делать отступ, который не попадет в данные. Так что CDATA не требуется вообще

5. Как-то особых неудобств и сложностей не заметил. Синтаксис придумывался параллельно с внутренней структурой. Внутри мой cfg - это вот такие объекты
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
type
  TParam=class
   private
    FIsList: Boolean;
    FName: String;
    FValue: String;
    FList: Array of TParam;
    FOwner: TParam;
    FInFile: Boolean;
    procedure DoneList;
    function GetValue: String;
    procedure SetValue(Value: String);
    procedure SetIsList(Value: Boolean);
    procedure SetName(Value: String);
    procedure DeleteParam(P: TParam; DoFree: Boolean=true);
    procedure AddParam(P: TParam);
   public
    constructor Create(AOwner: TParam);
    destructor Destroy; override;
    function ParamCount: Integer;
    function ParamByIndex(Index: Integer): TParam;
    function ParamIndex(Name: String): Integer;
    function ParamByName(Name: String): TParam;
    function GetAsInteger(Default: Integer): Integer;
    function GetAsBoolean(Default: Boolean): Boolean;
    function GetAsFloat(Default: Double): Double;
    function GetAsDate(Default: TDateTime): TDateTime;
    function GetAsTime(Default: TDateTime): TDateTime;
    function GetAsDateTime(Default: TDateTime): TDateTime;
    function GetAsBinary: String;
    procedure GetAsStrings(S: TStrings; Clear: Boolean);
    procedure SetAsInteger(Value: Integer);
    procedure SetAsBoolean(Value: Boolean);
    procedure SetAsFloat(Value: Double);
    procedure SetAsDate(Value: TDateTime);
    procedure SetAsTime(Value: TDateTime);
    procedure SetAsDateTime(Value: TDateTime);
    procedure SetAsBinary(Value: String);
    procedure SetAsStrings(S: TStrings; Clear: Boolean);
    property IsList: Boolean read FIsList write SetIsList;
    property Name: String read FName write SetName;
    property Value: String read GetValue write SetValue;
    property InFile: Boolean read FInFile;
  end;

  TConfig=class(TParam)
   public
    constructor Create;
    procedure LoadFromStream(F: TStream);
    procedure SaveToStream(F: TStream);
    procedure LoadFromFile(FileName: String);
    procedure SaveToFile(FileName: String);
  end;
Ну и соответственно укрупненно разбор:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
  procedure GetParam(CurParam: TParam);
  var P: TParam; S1: String;
  begin
    SkipBlanks;
    P := TParam.Create(CurParam);
    try
      P.FInFile := true;
      if CurChar='(' then
        GetList(P, ')')
      else
        begin
          GetString;
          S1 := CurStr;
          SkipBlanks;
          if CurChar='=' then
            begin
              P.Name := S1;
              FetchChar;
              SkipBlanks;
              if CurChar='(' then
                GetList(P, ')')
              else
                begin
                  GetString;
                  P.Value := CurStr;
                end;
            end
          else P.Value := S1;
        end;
    except
      P.Free;
    end;
  end;
  procedure GetList(CurParam: TParam; EndChar: Char);
  begin
    if EndChar<># 0  then FetchChar;
    SkipBlanks;
    while not EOF_ and (CurChar<>EndChar) do
      begin
        GetParam(CurParam);
        SkipBlanks;
      end;
    if not EOF_ then FetchChar;
  end;

По поводу того, что все вопросы решены в XML - еще раз повторю, речь шла о замене xml только для достаточно простых конфигурационных файлов. Типа таких продвинутых древовидных ini. на мой взгляд мой вариант симпатичнее. Я и не заявлял его универсальной заменой xml
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043394
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость2008Э... Reflection... Как я понимаю, это то что использует Reflector, то есть некая расширенная RTTI... Так ? А зачем ? Чтобы кто угодно мог ковыряться в моем софте ? Ну а при наличии файлов метаданных - да легко. В библиотеке (dll ну или пусть байткод, без разницы) есть таблица классов (по номерам - 1, 2, 3...), в каждом есть таблица методов, полей и т.п. (тоже по номерам). Метаданные эти номера устанавливают в соответствие именам. В чем проблема-то ? Главное сделать чтобы был окнтроль соответствия версий этих файлов, ну да тут хэши воплне себе подойдут. И естественно, если я отдаю свою библиотеку тому кто будет разрабатывать - я отдам оба файла. А конечному пользователю - один. А за второй, кроме всего прочего, пусть заплатит если оно ему надо :)

Переименовывание названий классов, названий методов, переменных в номера, это суть - обфускация. Вы можете называть её по другому, но смысл от этого не меняется. Её и так используют.

Сокрытие структуры сборки (assembly)/класса(class), отделение кода от декларации и превращение её в "шумящий" бинарник - это шаг назад, в эпоху старых компилляторов. Такую сборку в принципе невозможно пропустить через валидатор/загрузчик. То-же самое касается reflection. Я думаю, что прогрессивные разработчики не поддержат ваши тезис а будете настаивать - пошлют на йух.

Те преимущества безопасности кода, которые вы описываете - имеют очень сомнительную выгоду. Засекречивание кода сегодня - это нормальная, юридически грамотная и взаимовыгодная лицензия.
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043497
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость2008Это не попытка развязать флейм. Просто может я чего не знаю ? Просьба не писать безосновательно "ты просто ничего не понимаешь, это круто и удобно!". Кстати, к mono претензий было бы еще больше :) Итак, поехали. Что мне не нравится в .net:

1. Байт-код - без комментариев
2. Большой размер Framework'а (по сравнению с JRE например)
Разброс файлов FW по всему диску
Много ненужного в реестре (зачем мне регистрация если я не исопльзую
COM interop ?)
Компиляторы в FW, Asp.net там же - должны ставиться опционально
(всякие CodeDOM провайдеры - туда же)
3. Невозможность установить FW простым копированием и только нужных dll
Широкое использование xml - не human-readable формат
4. Метаданные в exe/dll - увеличивают размер и облегчают декомпиляцию
Они успешно могли бы быть вынесены в отдельные файлы (для разработчиков)
Причем для private элементов не нужны вообще !!!
5. Отсутствие нормальной документации (htm, chm, hlp), как по языку, так и по
библиотеке и внутренней организации VM
6. Отсутствие механизмов раздельной компиляции и модульности - аналога uses
в Delphi, xml файлы проектов которые не понимает vbc например
7. Неоднозначности в языке и новшества, плодящие их (extension methods),
"велосипеды", превозносимые как панацея (Workflow foundation, LINQ)
8. Отсутствие нормальной библиотеки работы с данными (Fetch on demand grid)
9. Запутанные понятия assembly, module, namespace, многоуровневые namespace,
strong name assembly, версии, культуры и прочее

Видимо вам не зря посоветовали Рихтера почитать - вы посмотрели на .NET одним глазом, ни в чем не разобрались, домыслили кучу каких-то несуразиц.
В начале по пунктам:
1) Если про байт-код вы не можете привести аргументов, то лучше и не писать, что он вам не нравится. На деле он является большим шагом вперед, так как является управляемым и ВЕРИФИЦИРУЕМЫМ, в отличие от традиционного машинного, хотя я думаю, что вы этого не оцените.
2) Чем вам не угодил размер: JRE6 - 14M, .NET - 22М - это что - существенная разница? :)
Разброс файлов по диску вас волновать не должен. Если ваша сборка Interop не использует, то ничего регистрировать не нужно. Ну и наконец компиляторы ставятся вместе с фреймворка (С# и VB.NET) и доступны как из командной строки, так и через CodeDom без лишних усилий.
3) Насчет копирования только нужных dll - это достойно нобелевской премии. После этого будет очень легко ответить на вопрос - установлен фреймворк или нет? Хотя действительно, зачем на него отвечать, если каждый автор будет таскать с собой "простым копированием" нужный кусочек и на машине будет лежать их штук 40-50.
А HTML - тоже не readable, ф топку. Лучше велосипеды изобретать.
4) Вы не понимаете механизма Reflection вообще. Этот механизм действует в ран-тайм и куда девать эти ваши "файлы для разработчиков"? К вашему сведению - рефлексия с определенным уровнем привилегий позволяет извлечать и private элементы, иначе как бы вы запустили механизм сериализации? Для нечитабельности сещуствуют обфускаторы, а для защиты от модификации - ЭЦП на сборку.
5) Вам мало MSDN? Или ее забыли портировать в ваш любимый hlp формат? До документации по внутренней организации вы просто видимо не дорылись, если вам кажется что язык плохо документирван. Кстати, коды CLR открыты - можете изучать.
6) Компилятор C# не требует forward декларируемости. Так что модель а-ля паскаль - не нужна.
7) Вы вообще о каком языке-то? Для .нет их много.
8) Вы ничего не поняли в ADO.NET. Извлечать данные - это не задача грида.
9) Запутанные понятия - это значит что вы их понять не пытались.
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043503
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость2008 wrote:

> 1. Я не знаком с LISP'ом вообще. Скорее последний вариант сложился
> после прочтения начальной документации к Lua
Пример кода:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
(defun update (selector-fn &key title artist rating (ripped nil
ripped-p))
  (setf *db*
        (mapcar 
         #'(lambda (row)
             (when (funcall selector-fn row)
               (if title    (setf (getf row :title) title))
               (if artist   (setf (getf row :artist) artist))
               (if rating   (setf (getf row :rating) rating))
               (if ripped-p (setf (getf row :ripped) ripped)))
             row) *db*)))

(defun delete-rows (selector-fn)
  (setf *db* (remove-if selector-fn *db*)))

Ссылка:
http://www.lisp.org/

> 2. Так же как ini - текущая кодовая страница системы.
Ой, зря...

> Это ведь окнфигурационные файлы, 90% использования - на том же
> компьютере что и создание
Да ну? Я бы предпочел, чтобы они были переносимыми. Потом, а если
пользователь решит изменить кодовую страницу системы? Тогда будет очень
весело, если в файле неанглийские символы...

> 4. Весь текст внутри кавычек (да-да, с переносами слов и всем
> остальным) остается как есть. единственное вмешательство - обратный
> апостроф, чтобы можно было делать отступ, который не попадет в данные.
> Так что CDATA не требуется вообще
А кавычки внутри кавчек?

mayton wrote:
> эти вопросы уже давно решены, но вы, очевидно очень хотите их
> решать еще раз.
А менее тяжеловесной альтернативы XML нету (без этих проблем)? Просто я
сам бы предпочел для конфигов и некоторых других целей что-то более
похожее синтаксисом на C++, т.е., например.
Код: plaintext
1.
2.
3.
4.
5.
6.
Секция{
        параметр1= 1234 ;
        строка1="1234"
        вложенная_секция1{
        }
}
Парсер я под это тоже писал, воскрешать его не очень хочется, и хочется
все-таки протестированное готовое решение, опенсорсовое, желательно.
Близко к этому подходили текстовые X-файлы (под линухом не
поддерживается), но всё равно это "не то". Хотя у них был плюс -
возможность сохранения данных в сжатом бинарном виде.


--
We are all going to hell and I'm driving the bus
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043657
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть еще yaml

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
--- !clarkevans.com/^invoice
invoice:  34843 
date   :  2001 - 01 - 23 
bill-to: &id001
    given  : Chris
    family : Dumars
    address:
        lines: |
             458  Walkman Dr.
            Suite # 292 
        city    : Royal Oak
        state   : MI
        postal  :  48046 
ship-to: *id001
product:
    - sku         : BL394D
      quantity    :  4 
      description : Basketball
      price       :  450 . 00 
    - sku         : BL4438H
      quantity    :  1 
      description : Super Hoop
      price       :  2392 . 00 
tax  :  251 . 42 
total:  4443 . 52 
comments: >
    Late afternoon is best.
    Backup contact is Nancy
    Billsmer @  338 - 4338 .
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043711
GotDotNet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гость2008Это не попытка развязать флейм. Просто может я чего не знаю ? Просьба не писать безосновательно "ты просто ничего не понимаешь, это круто и удобно!". Кстати, к mono претензий было бы еще больше :) Итак, поехали. Что мне не нравится в .net:

1. Байт-код - без комментариев

2. Большой размер Framework'а (по сравнению с JRE например)
Разброс файлов FW по всему диску
Много ненужного в реестре (зачем мне регистрация если я не исопльзую
COM interop ?)
Компиляторы в FW, Asp.net там же - должны ставиться опционально
(всякие CodeDOM провайдеры - туда же)


3. Невозможность установить FW простым копированием и только нужных dll
Широкое использование xml - не human-readable формат

А попробуй JRE установить простым копированием.

4. Метаданные в exe/dll - увеличивают размер и облегчают декомпиляцию
Они успешно могли бы быть вынесены в отдельные файлы (для разработчиков)
Причем для private элементов не нужны вообще !!!

А зачем эти файлы таскать за собой? Страуструп наоборот пытается в свой язык С++ метаинформацию - т.к. это - современный стандарт.
И эти нифига на защитит сборку от декомпиляции.
Облегчение декомпиляции - это плюс. Причем в любой язык!
А если защита - используй обфускаторы.

5. Отсутствие нормальной документации (htm, chm, hlp), как по языку, так и по
библиотеке и внутренней организации VM

Слепой? Глухой? Тупой?

6. Отсутствие механизмов раздельной компиляции и модульности - аналога uses
в Delphi, xml файлы проектов которые не понимает vbc например

Модульность реализованы в виде сборок. uses в Delphi это полное гавно, уже все давно поняли, что сквозная концепция пространств имен самое лучшее. Ты попробуй в быдло-делфи так просто перенести класс из одного модуля в другой. Дурилко, кто ж в компилятор проекты сует. И какого хрена консольным компилятором пользоваться. Visual Studio 2005 Express поставь и учись уму-разуму.


7. Неоднозначности в языке и новшества, плодящие их (extension methods),
"велосипеды", превозносимые как панацея (Workflow foundation, LINQ)

А ты знаешь, какие неоднозначности есть в паскакале. Это самый неоднозначный язык в мире. Ты вызов фунцкии без параметров от передачи указателя на функцию в паскале как отличишь? А, ты все равно это не поймешь, собственно как и WPF, WCF, WWF, Linq, до которых тебе еще нужно дорасти сопляк.


8. Отсутствие нормальной библиотеки работы с данными (Fetch on demand grid)

Ты буровишь чего-то. Какие данные тебе нужны? Если ты хочешь grid, то он есть, если хочешь базы данных, есть ADO.NET.


9. Запутанные понятия assembly, module, namespace, многоуровневые namespace,
strong name assembly, версии, культуры и прочее


А теперь товарищ, скажу тебе одну маленькую вещь. Тебе программистом не быть. То, что ты из-за своей недалекости не понял даже понятие сборки, говорит только о том, что у тебя мозгов хватило только на TurboPascal 5.5
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043714
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Будет вам. Совсем запинали парня.

Дайте ему возможность высказатся, но не кидайте камень сразу!
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043722
GotDotNet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Байт-код - без комментариев

У меня тоже комментировать нечего. Сделали идеально. Жаба курит в сторонке. По прозводительности Делфи уже давным давно обогнала (там компилятор не развивается со времен Вин 3.11)

Большой размер Framework'а (по сравнению с JRE например)
Разброс файлов FW по всему диску
Много ненужного в реестре (зачем мне регистрация если я не исопльзую
COM interop ?)
Компиляторы в FW, Asp.net там же - должны ставиться опционально
(всякие CodeDOM провайдеры - туда же)

Мегабаянище. Уже не смешно. .Net - неотьемлемая часть Windows (иначе админов - на мыло).

Широкое использование xml - не human-readable формат

Попробуй по F3 почитать какой-нибудь .BIN формат.
Да, и ты еще наезжаешь против СТАНДАРТА ДЕ-ФАКТО и ДЕ-ЮРЕ (спецификации W3C)?

ПС. Блин опять стоны какого-то быдлоделфиниста, который работу не может найти.
.Net разделило всех прогеров да 2 части:
Быдло и не быдло.

Быдло стонет и кричит, а почему, а зачем, а нам не нравится, а вообще МС - это зло.

Не быдло - уже давно работает и зарабатывает такие деньги, какие тебе и не снились.
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043727
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
belugin wrote:
> Есть еще yaml
Спасибо за линк, заинтересовало, возможно что пригодится.

По поводу XML есть статья здесь, кому интересно:
http://xmlsucks.org/but_you_have_to_use_it_anyway/does-xml-suck.html

GotDotNet wrote:
> А попробуй JRE установить простым копированием.
Насколько знаю, можно, но придется пути прописывать в Environment
Variables. (под линухом методом копирования ставится :))

> uses в Delphi это полное гавно, уже все давно поняли, что сквозная
> концепция пространств имен самое лучшее.
Зря. Простой, удобный инструмент. Для каких-то задач идеален, для
каких-то других - не подходит. Впрочем, как и любой язык/инструмент.

> Модульность реализованы в виде сборок. uses в Delphi это полное гавно,
> уже все давно поняли, что сквозная концепция пространств имен самое
> лучшее.
Дельфийский модуль и представлял собой пространство имен. Т.е., в случае
clash'а имен структур/классов, можно было указать, из какого модуля,
например, используется TBitmap: windows.TBitmap или graphics.TBitmap.
Насколько знаю, нечто похожее использует Python и Java, (про .NET
ничего не скажу, т.к. не пользуюсь), разница в том, что там можно явно
указать, что из модуля импортируется. В С++ же это делается
namespace'ами, и только если программер этого возжелал. Из-за этого
глобальное пространство имен легко замусоривается, но есть и плюсы.

> И какого хрена консольным компилятором пользоваться. Visual Studio
> 2005 Express поставь и учись уму-разуму.
Повеселило. См autotools, scons, gmake и прочие.

mayton wrote:
> Будет вам.
+1

--
We are all going to hell and I'm driving the bus
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043780
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GotDotNet wrote:

> Убил. Пространство имен на полфайла.
"Не нравится - не пользуйся" (c).
--
We are all going to hell and I'm driving the bus
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043781
Krey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не пойму только зачем так Delphi и TurboPascal опускать?!
Всему свое время, так как в свое время TurboPascal не сильно от TurboC отличался (ООП было вообще одно и то же). Да и многое из Делфи перекочевало прямиком в .NET.
То о чем тут говорится - обычная эволюция - уважайте предков. А если кто то остановился в своем развитии можно тихо посочувствовать, оскорблять не зачем. В свое время это случится с каждым.
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043786
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
belugin wrote:

> Есть еще yaml
Хорошая вещь, но у него, как я понял нет парсера под C++. Значит, всё
равно понадобиться велосипед.
--
We are all going to hell and I'm driving the bus
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043797
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErV
belugin wrote:

> Есть еще yaml
Хорошая вещь, но у него, как я понял нет парсера под C++. Значит, всё
равно понадобиться велосипед.
--
We are all going to hell and I'm driving the bus
Posted via ActualForum NNTP Server 1.4

Меня смущает жесткое форматирование символами-разделителями.
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043803
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton wrote:

> Меня смущает жесткое форматирование символами-разделителями.
В yaml?
Возможно, я что-то пропустил, но по-моему, это всё равно удобнее для
ручного редактирования и проверки человеком, чем XML
(закрывающие теги, возможные промахи по <>/ - простор для опечаток).
Упомянутая идея с lisp'ом тоже очень неплохая (надо будет протестить).
--
We are all going to hell and I'm driving the bus
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043805
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErV
Возможно, я что-то пропустил, но по-моему, это всё равно удобнее для
ручного редактирования и проверки человеком, чем XML
(закрывающие теги, возможные промахи по <>/ - простор для опечаток).
Упомянутая идея с lisp'ом тоже очень неплохая (надо будет протестить).


Да в этом Ямле.

(наливает чай)

Видите-ли, я привык к тому, что любая информация должна быть принтабельна. А теперь давайте подумаем, какой ширины принтер я должен взять чтобы распечатать базу знаний, содержащую вложенность порядка 10-20 уровней. И как его публиковать для просмотра? Даже в моноширном шрифте будет полный развал дизайна.

(размешивает сахар)

Кстати, это одна из причин по которой мне не нравился Питон.
...
Рейтинг: 0 / 0
Что мне не нравится в .net
    #35043815
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton wrote:

> А теперь давайте подумаем, какой ширины принтер я должен взять чтобы
> распечатать базу знаний, содержащую вложенность порядка 10-20 уровней.
Логично. Значит, есть все-таки смысл посмотреть (мне) в сторону
lisp-like списков, т.к. даст относительно неплохую читабельность, плюс
воплощать будет не очень долго.

Кстати, на википедии есть неплохой набор ссылок, можно будет поковырять:
http://en.wikipedia.org/wiki/Lightweight_markup_language
--
We are all going to hell and I'm driving the bus
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
25 сообщений из 172, страница 1 из 7
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Что мне не нравится в .net
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]