> man operating_systems
Миграция в Линукс. Путевые заметки
Поработав с этим дистрибутивом, я ощутил острое желание вернуться в Windows - срочно! - собрать свои виртуальные манатки (в основном почтовый архив), упаковать их в один файл, закинуть его за спину и уйти в Линукс. Навсегда!
Roman I Khimov  в  Вторник, 07 Декабрь 2004, 22:20  |   Комментарии: 44  |  для печати

Комментарии
Freeman |08.12.2004 00:07
Комментарии: 240

Зарегистрирован: 01.07.2004 14:57

Статейка занимательная, конечно. Человеку хочется быть первым, даже несмотря на большое количество мелких, но раздражающих багов. Пусть будет так...
А мы с Дримером пока на Винде посидим.

Roman I Khimov |08.12.2004 00:32
Комментарии: 952


Сначала посмеялся. Потом взгрустнул... Нет, тебе определенно надо опробовать какой-нибудь хороший Linux.

Freeman |08.12.2004 17:05
Комментарии: 240

Зарегистрирован: 01.07.2004 14:57

Плавали, знаем. До сих пор не могу интегрировать расширения в дистрибутив Firefox. Перейду обратно на Оперу нафиг - будете знать!

Dreamer |08.12.2004 17:38
Комментарии: 347

Зарегистрирован: 04.07.2004 14:01

Да-да, Freeman, посидим Только бедняге придется отказаться от мощных сред разработки приложений, от прогрессивных редакторов, как текстовых так и графических, положиться на энтузиазм разработчиков, которые всегда ходят с транспарантами с надписями типа "Долой Windows!".

Roman I Khimov |08.12.2004 18:57
Комментарии: 952


Не смеши меня.

Freeman |08.12.2004 22:06
Комментарии: 240

Зарегистрирован: 01.07.2004 14:57

Начни программировать... Смеется тот, кто смеется последним.

Roman I Khimov |08.12.2004 23:46
Комментарии: 952


Неправильно. Хорошо смеется тот, кто смеется без последствий.

Пока обходился make, vim и cvs. Но были обнаружены Cervisia, KDevelop и отличный редактор UML-диаграмм. Есть еще Qt Designer, DDD и переводчик Qt. Вообще же, уж чего-чего, а для разработки в Linux-системах есть все.

Dreamer |09.12.2004 17:44
Комментарии: 347

Зарегистрирован: 04.07.2004 14:01

Да-да-да. Я загрузил KDevelop, создал проект типа "Hello world", ничего не менял, запустил, так мне этот KDevelop ошибок столько накидал! Нет уж, ивините. На этом я программировать не буду. Боюсь, что как раз-то без плохих последствий не обойдешься. И переводчики все эти - полное г. Я купил себе за символическую плату в 20$ Lingvo 9 и никак не нарадуюсь.

Roman I Khimov |09.12.2004 18:38
Комментарии: 952


Ладно, про руки промолчу, ибо сам сейчас с распухшей лапой сижу, а насчет переводчиков - я не о том. Я согласен, что Lingvo лучше будет, чем mova.org, но здесь я о переводе интерфейсов - интернационализации приложений.

Dreamer |10.12.2004 16:31
Комментарии: 347

Зарегистрирован: 04.07.2004 14:01

Насчет рук, то я повторяю: после создания проекта я ВООБЩЕ ничего не менял. И эта зараза мне выкинула ошибки. В VS.NET такого маразма нет.

Roman I Khimov |10.12.2004 17:11
Комментарии: 952


Да, конечно. Свинство, что там говорить! Просто ужас! Караул! Удивительно, и почему у меня новый проект из "C++/Simple Hello World program" скомпилился и запустился?.. Черт, что же я делаю не так?

Кстати, если тебе интересно. Я однажды делал маааленькую программку на C++ для универа. Надо было сдать один небольшой класс за весь семестр и ответвить от него еще два с перегрузками и другими наворотиками - фигня, ага? Делал я его тогда, конечно же, в OpenWatcom. Все было замечально, мой класс работал идеально и все было тип-топ. Принес преподу, он его в VC 6.0 и давай запускать. А там ошибка! Он как запускается, так сразу ошибка! Конечно же я вспомнил, что MS - это гадость и компилятор мастдайный и все плохо, и вообще "у меня работает". Однако он же мне показал чуть-чуть измененную мою программу и уже немного позже я понял, что VC в целом был прав, во всяком случае по стандарту некоторые переменные он не обязан обнулять, он этого и не делал. Ситуация интересная, согласись - с одной стороны OpenWatcom делал что-то лишнее, но страховал меня, программиста, от ошибки. С другой стороны - не давал узнать, что же на самом деле делается в C++. В общем, спасибо VC, все здорово.

Но знаешь, что самое-то интересное? Я ту же программку пробовал скомпилировать в GCC. Она работала, выводила то, что от нее требуется, но вместо того, чтобы нормально завершаться, ловила SIGSEGV, нарушение сегментации. К слову, с первым глюком GCC работал также, как и OpenWatcom - страховал. Естественно, что я попер с гранатой на GCC, что как так этот долбаный компилятор компилит мою замечательную программу, что она вываливается! И знаешь что? Когда я разобрался в этом, я осознал, что я совершенно не понимал как работают деструкторы в дочерних классах.
Теперь давай подумаем - в первом случае я не знал что где обнуляется или нет, поэтому когда меня не страховал компилятор, я ловил ошибку. А вот во втором случае я вообще не понимал, как работают деструкторы! Я не понимал ООП в C++, по сути! И кто мне дал это понять? Именно GCC. Именно в Linux. И без него, боюсь, что если бы я даже и обнаружил это недопонимание, то уже в гораздо более тяжких обстоятельствах серьезного проекта.

Wanderer |10.12.2004 22:49
Комментарии: 107


2All
Вроде уже немаленькие, а все спорите, что лучше - Windows или Linux. Лучше своя голова на плечах, понимание того, что ты делаешь и желание учиться и постигать что-то новое.

Roman I Khimov |10.12.2004 23:51
Комментарии: 952


Yep. С Linux я отлично понимаю, что делаю.

Freeman |11.12.2004 15:32
Комментарии: 240

Зарегистрирован: 01.07.2004 14:57

"Roman I Khimov" написал(а) ...
Я не понимал ООП в C++, по сути! И кто мне дал это понять? Именно GCC. Именно в Linux.

Ну, для тебя тут много личного.

А мне кажется, что тебе тут помог не GCC, и уж никак не Линукс, а опыт, которого ты набрался, сравнивая поведение различных компиляторов на одном и том же коде.

Roman I Khimov |11.12.2004 16:16
Комментарии: 952


Согласен, что здесь был полезен в первую очередь суммарный опыт от общения с тремя компиляторами. Но все-таки, согласись, что то, что мне дал обнаружить GCC - очень важный момент, а VC и OpenWatcom этого не дали. Linux здесь и правда не причем (полагаю, что порт GCC под Windows дал бы те же результаты), но я это к слову о качестве открытых инструментов разработчика, начиная с самого главного инструмента (после головы, конечно но она кроссплатформенна) - компилятора.

Dreamer |11.12.2004 16:21
Комментарии: 347

Зарегистрирован: 04.07.2004 14:01

По большинству твоего комментария мне ответить нечего: все эти "страховки" - особенности конкретного компилятора.

А вот как же это тебе, Роман, удалось понять "с помощью GCC" ООП? Что он, прямо так и сказал: "вот что такое, Роман, ООП"? Глупости.

Chizh |11.12.2004 16:29
Комментарии: 85

Зарегистрирован: 13.09.2004 18:42

"Roman I Khimov" писал(а): ...
Я не понимал ООП в C++, по сути! И кто мне дал это понять? Именно GCC. Именно в Linux.

На VC компилировали в Debug конфигурации?

Chizh |11.12.2004 16:33
Комментарии: 85

Зарегистрирован: 13.09.2004 18:42

Hint: VC обнулением не занимается при компиляции в Release target. Но такова особенность Debug target.

Chizh |11.12.2004 16:40
Комментарии: 85

Зарегистрирован: 13.09.2004 18:42

Обнуление переменных в Debug конфигурации это стандартно для всех компиляторов. А на GCC ты очевидно компилировал сразу в Release, т.к. нормального отладчика всё-равно нету Такова вот она правда жизни

Roman I Khimov |11.12.2004 17:23
Комментарии: 952


Насколько я знаю, у препода стоял самый "жесткий" в плане выявления ошибок режим VC - что там конкретно, не знаю. Сам VC не пользовался ни разу.

Dreamer написал(а) ...
А вот как же это тебе, Роман, удалось понять "с помощью GCC" ООП? Что он, прямо так и сказал: "вот что такое, Роман, ООП"? Глупости.

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

Я вообще-то пояснил, что непонимание было реализации ООП в C++, поскольку работа деструкторов - важная часть всей схемы.

Chizh |11.12.2004 19:51
Комментарии: 85

Зарегистрирован: 13.09.2004 18:42

В VC нет режимов выявления ошибок. Есть только уровни предупреждений, но компилированию они не мешают. Как я уже сказал, VC ни чем таким не занимается, значит использовался режим отладки. Больше вариантов нет.

Freeman |12.12.2004 13:09
Комментарии: 240

Зарегистрирован: 01.07.2004 14:57

Roman I Khimov написал(а) ...
но я это к слову о качестве открытых инструментов разработчика

Однобокая у тебя "открытость" получается. Вроде как Open Watcom тоже открытый инструмент.

Еще немного, и тебя можно посвятить в "Дримеры Линукс"


Freeman |12.12.2004 13:11
Комментарии: 240

Зарегистрирован: 01.07.2004 14:57

Roman I Khimov написал(а) ...
Точно, новая парадигма - "забей на память, делай дело".

А ведь действительно новая парадигма. И реализована ведь даже. Называется "сборка мусора". Можно ведь писать и на C++ Managed Extensions для .NET...

Dreamer |12.12.2004 16:26
Комментарии: 347

Зарегистрирован: 04.07.2004 14:01

2Freeman:

2Роман: какие деструкторы? Как сказал Alexander, VS.NET выдает только предупреждения в соответствие с уровнем. А выводы разработчик делает сам. А тебе GCC, видимо, прямо носом ткнул, что у тебя объект не уничтожен? А книжки почитать было не судьба?



Комментарии доступны только авторизованным пользователям, авторизуйтесь или зарегистрируйтесь на сайте здесь

© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.