Миграция в Линукс. Путевые заметки Поработав с этим дистрибутивом, я ощутил острое желание вернуться в Windows - срочно! - собрать свои виртуальные манатки (в основном почтовый архив), упаковать их в один файл, закинуть его за спину и уйти в Линукс. Навсегда! |
Комментарии |
Комментарии: 240
Зарегистрирован: 01.07.2004 14:57
| Статейка занимательная, конечно. Человеку хочется быть первым, даже несмотря на большое количество мелких, но раздражающих багов. Пусть будет так... А мы с Дримером пока на Винде посидим. |
|
Комментарии: 952
| Сначала посмеялся. Потом взгрустнул... Нет, тебе определенно надо опробовать какой-нибудь хороший Linux. |
|
Комментарии: 240
Зарегистрирован: 01.07.2004 14:57
| Плавали, знаем. До сих пор не могу интегрировать расширения в дистрибутив Firefox. Перейду обратно на Оперу нафиг - будете знать! |
|
Комментарии: 347
Зарегистрирован: 04.07.2004 14:01
| Да-да, Freeman, посидим Только бедняге придется отказаться от мощных сред разработки приложений, от прогрессивных редакторов, как текстовых так и графических, положиться на энтузиазм разработчиков, которые всегда ходят с транспарантами с надписями типа "Долой Windows!". |
|
Комментарии: 952
| Не смеши меня. |
|
Комментарии: 240
Зарегистрирован: 01.07.2004 14:57
| Начни программировать... Смеется тот, кто смеется последним. |
|
Комментарии: 952
| Неправильно. Хорошо смеется тот, кто смеется без последствий.
Пока обходился make, vim и cvs. Но были обнаружены Cervisia, KDevelop и отличный редактор UML-диаграмм. Есть еще Qt Designer, DDD и переводчик Qt. Вообще же, уж чего-чего, а для разработки в Linux-системах есть все. |
|
Комментарии: 347
Зарегистрирован: 04.07.2004 14:01
| Да-да-да. Я загрузил KDevelop, создал проект типа "Hello world", ничего не менял, запустил, так мне этот KDevelop ошибок столько накидал! Нет уж, ивините. На этом я программировать не буду. Боюсь, что как раз-то без плохих последствий не обойдешься. И переводчики все эти - полное г. Я купил себе за символическую плату в 20$ Lingvo 9 и никак не нарадуюсь. |
|
Комментарии: 952
| Ладно, про руки промолчу, ибо сам сейчас с распухшей лапой сижу, а насчет переводчиков - я не о том. Я согласен, что Lingvo лучше будет, чем mova.org, но здесь я о переводе интерфейсов - интернационализации приложений. |
|
Комментарии: 347
Зарегистрирован: 04.07.2004 14:01
| Насчет рук, то я повторяю: после создания проекта я ВООБЩЕ ничего не менял. И эта зараза мне выкинула ошибки. В VS.NET такого маразма нет. |
|
Комментарии: 952
| Да, конечно. Свинство, что там говорить! Просто ужас! Караул! Удивительно, и почему у меня новый проект из "C++/Simple Hello World program" скомпилился и запустился?.. Черт, что же я делаю не так?
Кстати, если тебе интересно. Я однажды делал маааленькую программку на C++ для универа. Надо было сдать один небольшой класс за весь семестр и ответвить от него еще два с перегрузками и другими наворотиками - фигня, ага? Делал я его тогда, конечно же, в OpenWatcom. Все было замечально, мой класс работал идеально и все было тип-топ. Принес преподу, он его в VC 6.0 и давай запускать. А там ошибка! Он как запускается, так сразу ошибка! Конечно же я вспомнил, что MS - это гадость и компилятор мастдайный и все плохо, и вообще "у меня работает". Однако он же мне показал чуть-чуть измененную мою программу и уже немного позже я понял, что VC в целом был прав, во всяком случае по стандарту некоторые переменные он не обязан обнулять, он этого и не делал. Ситуация интересная, согласись - с одной стороны OpenWatcom делал что-то лишнее, но страховал меня, программиста, от ошибки. С другой стороны - не давал узнать, что же на самом деле делается в C++. В общем, спасибо VC, все здорово.
Но знаешь, что самое-то интересное? Я ту же программку пробовал скомпилировать в GCC. Она работала, выводила то, что от нее требуется, но вместо того, чтобы нормально завершаться, ловила SIGSEGV, нарушение сегментации. К слову, с первым глюком GCC работал также, как и OpenWatcom - страховал. Естественно, что я попер с гранатой на GCC, что как так этот долбаный компилятор компилит мою замечательную программу, что она вываливается! И знаешь что? Когда я разобрался в этом, я осознал, что я совершенно не понимал как работают деструкторы в дочерних классах. Теперь давай подумаем - в первом случае я не знал что где обнуляется или нет, поэтому когда меня не страховал компилятор, я ловил ошибку. А вот во втором случае я вообще не понимал, как работают деструкторы! Я не понимал ООП в C++, по сути! И кто мне дал это понять? Именно GCC. Именно в Linux. И без него, боюсь, что если бы я даже и обнаружил это недопонимание, то уже в гораздо более тяжких обстоятельствах серьезного проекта. |
|
Комментарии: 107
| 2All Вроде уже немаленькие, а все спорите, что лучше - Windows или Linux. Лучше своя голова на плечах, понимание того, что ты делаешь и желание учиться и постигать что-то новое. |
|
Комментарии: 952
| Yep. С Linux я отлично понимаю, что делаю. |
|
Комментарии: 240
Зарегистрирован: 01.07.2004 14:57
| "Roman I Khimov" написал(а) ... Я не понимал ООП в C++, по сути! И кто мне дал это понять? Именно GCC. Именно в Linux. Ну, для тебя тут много личного.
А мне кажется, что тебе тут помог не GCC, и уж никак не Линукс, а опыт, которого ты набрался, сравнивая поведение различных компиляторов на одном и том же коде. |
|
Комментарии: 952
| Согласен, что здесь был полезен в первую очередь суммарный опыт от общения с тремя компиляторами. Но все-таки, согласись, что то, что мне дал обнаружить GCC - очень важный момент, а VC и OpenWatcom этого не дали. Linux здесь и правда не причем (полагаю, что порт GCC под Windows дал бы те же результаты), но я это к слову о качестве открытых инструментов разработчика, начиная с самого главного инструмента (после головы, конечно но она кроссплатформенна) - компилятора. |
|
Комментарии: 347
Зарегистрирован: 04.07.2004 14:01
| По большинству твоего комментария мне ответить нечего: все эти "страховки" - особенности конкретного компилятора.
А вот как же это тебе, Роман, удалось понять "с помощью GCC" ООП? Что он, прямо так и сказал: "вот что такое, Роман, ООП"? Глупости. |
|
Комментарии: 85
Зарегистрирован: 13.09.2004 18:42
| "Roman I Khimov" писал(а): ... Я не понимал ООП в C++, по сути! И кто мне дал это понять? Именно GCC. Именно в Linux.
На VC компилировали в Debug конфигурации? |
|
Комментарии: 85
Зарегистрирован: 13.09.2004 18:42
| Hint: VC обнулением не занимается при компиляции в Release target. Но такова особенность Debug target. |
|
Комментарии: 85
Зарегистрирован: 13.09.2004 18:42
| Обнуление переменных в Debug конфигурации это стандартно для всех компиляторов. А на GCC ты очевидно компилировал сразу в Release, т.к. нормального отладчика всё-равно нету Такова вот она правда жизни |
|
Комментарии: 952
| Насколько я знаю, у препода стоял самый "жесткий" в плане выявления ошибок режим VC - что там конкретно, не знаю. Сам VC не пользовался ни разу.
Dreamer написал(а) ... А вот как же это тебе, Роман, удалось понять "с помощью GCC" ООП? Что он, прямо так и сказал: "вот что такое, Роман, ООП"? Глупости. Конечно глупости, о чем речь! Можно же программировать вообще не зная о том, как работают деструкторы, ага? Можно же вообще ничего не освобождать, хрен с ней с памятью, у нас же ее вагон! Точно, новая парадигма - "забей на память, делай дело".
Я вообще-то пояснил, что непонимание было реализации ООП в C++, поскольку работа деструкторов - важная часть всей схемы. |
|
Комментарии: 85
Зарегистрирован: 13.09.2004 18:42
| В VC нет режимов выявления ошибок. Есть только уровни предупреждений, но компилированию они не мешают. Как я уже сказал, VC ни чем таким не занимается, значит использовался режим отладки. Больше вариантов нет. |
|
Комментарии: 240
Зарегистрирован: 01.07.2004 14:57
| Roman I Khimov написал(а) ... но я это к слову о качестве открытых инструментов разработчика Однобокая у тебя "открытость" получается. Вроде как Open Watcom тоже открытый инструмент.
Еще немного, и тебя можно посвятить в "Дримеры Линукс"
|
|
Комментарии: 240
Зарегистрирован: 01.07.2004 14:57
| Roman I Khimov написал(а) ... Точно, новая парадигма - "забей на память, делай дело". А ведь действительно новая парадигма. И реализована ведь даже. Называется "сборка мусора". Можно ведь писать и на C++ Managed Extensions для .NET...
|
|
Комментарии: 347
Зарегистрирован: 04.07.2004 14:01
| 2Freeman:
2Роман: какие деструкторы? Как сказал Alexander, VS.NET выдает только предупреждения в соответствие с уровнем. А выводы разработчик делает сам. А тебе GCC, видимо, прямо носом ткнул, что у тебя объект не уничтожен? А книжки почитать было не судьба? |
Комментарии доступны только авторизованным пользователям, авторизуйтесь или зарегистрируйтесь на сайте здесь
|