Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> почему у .NET нет будущего? что скажете... 
:(
    Опции темы
Aurus
Дата 20.8.2005, 18:28 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 14.8.2005
Где: Новосибирск

Репутация: -1
Всего: 0



Пива всем!

Вот сам не знаю чем мне нравится .NET, может название красивое)) хммм.... вообщем я сам только что за си шарп сел, реально ещё ничего не создавал.

Но вот начал изучать этот си шарп и уже кое-что мне не понравилось...- я просто возмущен!!! smile этой "дерьмовой" инициализацией массива!!! - кто только так придумал инициализировать массив!!! - ему в голову гвоздь забить надо!!! smile

Код

int[] myIntArray = new int[5] {2,4,6,8,10}
int[] myIntArray = {2,4,6,8,10}


На Си куда красивее:
Код

int first[5] = {1,2,3,4,5}


Они там в мелкософте совсем что-то.... не только хотят денег загрести, ещё хотят что-бы все программисты перестраивали свои мозги под них! нет ну я просто возмущен.

Ну это ладно... мелочи так сказать smile

Я что хотел то... - вот статью нашел - http://www.slackware.ru/article.ghtml?ID=544
что скажите?
PM MAIL ICQ   Вверх
Че Гевара
Дата 20.8.2005, 18:40 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Когда данная вещь была впервые опубликована в декабре 2004, Юкихиро Матцумото (создатель Ruby) прислал фотографию своего текущего... ммм... состояния:
--Resize_Images_Alt_Text--

Так что у Ruby будущее есть smile

- Команданте
  Вверх
srd
Дата 20.8.2005, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нереварин
**


Профиль
Группа: Участник Клуба
Сообщений: 951
Регистрация: 30.8.2003
Где: Владивосток

Репутация: нет
Всего: 49



Aurus
Слабо в Си++ проинициализировать динамический массив одновременно с выделением памяти? smile


--------------------
Не смей читать мою подпись!!!
PM MAIL Jabber   Вверх
Mayk
Дата 20.8.2005, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 2
Всего: 134



Цитата(srd @ 20.8.2005, 22:54)
Слабо в Си++ проинициализировать динамический массив одновременно с выделением памяти?

Код

void* operator new(size_t s){
    return calloc(s,1);
}
void* operator new(size_t s, void* initWithThis){
    return memcpy(malloc(s), initWithThis, s);
}



smile


Это сообщение отредактировал(а) Mayk - 20.8.2005, 20:07


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Kurt
Дата 20.8.2005, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлеченный
***


Профиль
Группа: Участник Клуба
Сообщений: 1662
Регистрация: 22.8.2003
Где: Краснодар

Репутация: нет
Всего: 36



Вышеуказанная статья уже обсуждалась на нашем форуме. По-моему, даже несколько раз.



--------------------
Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед)
...
Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн)
PM ICQ   Вверх
srd
Дата 20.8.2005, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нереварин
**


Профиль
Группа: Участник Клуба
Сообщений: 951
Регистрация: 30.8.2003
Где: Владивосток

Репутация: нет
Всего: 49



Mayk
Кто победит, конструктор или memcpy? smile
Код

#include <cstdlib>
#include <cstring>
#include <cstdio>

class A
{
public:
    A( void )
    {
        a = 0;
    }

    int a;
};

void* operator new(size_t s){    
    return calloc(s,1);    
}    
void* operator new(size_t s, void* initWithThis){    
    return memcpy(malloc(s), initWithThis, s);    
}

int main(void)
{
    A b[2];

    b[0].a = b[1].a = 1;    

    A *a = new(&b) A[2];

    printf("%d %d", a[0].a, a[1].a);
}




--------------------
Не смей читать мою подпись!!!
PM MAIL Jabber   Вверх
Domestic Cat
Дата 20.8.2005, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 4
Всего: 172



Не пойму чем не угодила инициализация массива и почему "кто .. так придумал ... ему в голову гвоздь забить надо!!!". Может это надо сделать с тем, кто задает глупые вопросы?


--------------------

PM   Вверх
Fantasist
Дата 20.8.2005, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй
***


Профиль
Группа: Участник Клуба
Сообщений: 1517
Регистрация: 24.3.2002

Репутация: 3
Всего: 41



Цитата(Domestic @ 20.8.2005, 17:40)
Не пойму чем не угодила инициализация массива и почему "кто .. так придумал ... ему в голову гвоздь забить надо!!!". Может это надо сделать с тем, кто задает глупые вопросы?



Согласен. Нормальная инизиализация. Возмущение может только происходить от непонимания предмета.

К тому же совершенно не вижу чем такое выражение:
Код

int first[5] = {1,2,3,4,5}

красивее этого:
Код

int[] myIntArray = {2,4,6,8,10}


Цитата(Aurus @ 20.8.2005, 15:28)
хотят что-бы все программисты перестраивали свои мозги


А у программистов работа такая - мозги частенько перестраивать. smile Если они у кого-то не перестраиваются - извините, его проблемы. smile



--------------------
Волны гасят ветер...
PM MAIL   Вверх
Mayk
Дата 20.8.2005, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 2
Всего: 134



Цитата(srd @ 21.8.2005, 00:22)
Кто победит, конструктор или memcpy?

smile Точно, подловил. smile
Ну да ладно, тогда в документации пропиши что не надо такой конструктор объявлять smile Мол "Объявите class InitMe{}initMe; и инитетеся так:"
Код

class A{int a;A(){}; A(InitMe){a=0;}};

Неудобно, не спорю. Но по сравнению с c# struct/class и финализаторами(в них по некоторым данным к ссылкамам класса нельзя оперировать) это такая мелочь smile


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Domestic Cat
Дата 20.8.2005, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 4
Всего: 172



Цитата(Mayk @ 20.8.2005, 12:06)
(в них по некоторым данным к ссылкамам класса нельзя оперировать)

smile


--------------------

PM   Вверх
srd
Дата 21.8.2005, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нереварин
**


Профиль
Группа: Участник Клуба
Сообщений: 951
Регистрация: 30.8.2003
Где: Владивосток

Репутация: нет
Всего: 49



Mayk
В любом случае я иногда жалею, что в Си++ нет такого удобного способа инициализировать динамические массивы, как в шарпе. Только перед шарпниками я в этом ни за что не признаюсь smile


--------------------
Не смей читать мою подпись!!!
PM MAIL Jabber   Вверх
Дрон
Дата 21.8.2005, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 92



Цитата(srd @ 21.8.2005, 17:15)
В любом случае я иногда жалею, что в Си++ нет такого удобного способа инициализировать динамические массивы, как в шарпе. Только перед шарпниками я в этом ни за что не признаюсь smile

Да я на два фронта играю smile

А указанным способом пользуюсь постоянно!

Причём чаще всего для безымянных массивов при передаче параметров:
Код

SomeFunction ( new string[] { "abcd", "klmn", "oprst" } );



--------------------
Да. Именно так.
PM   Вверх
Hroft
Дата 23.8.2005, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 20.10.2003
Где: Москва

Репутация: нет
Всего: 3



А еще можно спросить уважаемого автора топика, как соотносится с платформой синтаксис одного из поддерживаемых языков, и почему из-за того, что ему что-то не нравится, у этого чего-то сразу должно пропасть будущее...
Кроме того, такой способ инициализации выделяемой памяти из Явы взят, как я думаю, и там нареканий не вызывает...
PM MAIL ICQ   Вверх
chipset
Дата 23.8.2005, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 4
Всего: 164



Репортим smile
М
 
Перенесено из C++:Общие вопросы руководствуясь здравым смыслом.



--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Cr@$h
Дата 24.8.2005, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: нет
Всего: 41



Тема еще живая, как я вижу. В этом свете кто-нить из С++-программистов скажите тогда, пожалуйста, как создать в подпрограмме двумерную матрицу размерами MxN, где M и N являются входными параметрами?
void SubMat( int N, int M ) {
???
}

В .Net так запросто.

Это сообщение отредактировал(а) Cr@$h - 24.8.2005, 00:03
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.0945 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.