Lipetsk *nix Association Forum Lipetsk *nix Association Forum
Новости:
 
*
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
27 Ноября 2024, 12:26:36


Войти


Страниц: 1 [2] 3 4 ... 6   Вниз
  Печать  
Автор Тема: Программирование под linux  (Прочитано 84783 раз)
0 Пользователей и 8 Гостей смотрят эту тему.
deXes
Продвинутый
***

Карма: 0
Сообщений: 197



Награды
« Ответ #15 : 03 Марта 2008, 19:17:48 »

пробовал писать на пайтоне мне, например очень понравилось, хотя толком так и не изучил. советую скачать с FTP журнал linux-формат, там расскзано как писать графические проги для кде и гнома. Удачи!
Записан
mt
Юзверь
**

Карма: 2
Сообщений: 74


Gentoo, x86


Награды
« Ответ #16 : 03 Марта 2008, 19:51:55 »

За .NET и Mono будущее. В C# не надо ипать сибе моск управлением памятью, сборкой мусора и т.д. и т.п.
Точно-точно! На кой нам знать, как устроен компьютер и как оно там внутри "пикаИть".  Подмигивающий А уж тем более, "ипать сибе моск" работой с памятью. Это мне напоминает поколение delphi, где каждый писал вирусы и трояны в виде гуевого приложения со спрятанной главной формой. хех... Программер должен знать, как работает железо, компилятор и транслятор. Вы не поверите, насколько мне грустно смотреть на студентов специальностей АС и ПМ нашего политеха.  Пишут проги, но большинство совсем не знает как они работают  Плачущий

Плюс встроенные классы для работы с коллекциями, парсер XML, регулярных выражений, ну и много чего ещё интересного.
про unix-way никогда не слышали? так вот ИМХО язык должен описывать интерфейс, чтобы реализацию могли делать сторонние производители. Иначе это уже фреймворк, а не язык.

Собсно я хотел сказать, что использовать функции из либ, не понимая их устройства, не есть гуд. ИМХО.
+1 готов подписаться под каждым словом

з.ы.
у самого за плечами зоопарк притаился: c/c++,awk,sed,perl,shell,pascal, а также ассемблер различных видов, модификаций и платформ....
з.з.ы
если уж на то пошло, то "работа с памятью" наиболее интересна в асме и паскале. в последнем вообще через ж. и ничего, моск жив и прекрасно себя чувствует.

главное - не бояться думать.  Смеющийся
Записан

Life would be so much easier if we could just look at the source code.
IERO
Модератор
*****

Карма: 8
Сообщений: 432


Debian Lenny


Награды
« Ответ #17 : 03 Марта 2008, 21:55:34 »

имхо, на всяких датнетах и джавах можно начинать писать только после обучения на чем-то вроде C/C++.( ну просто асм мне незнаком, насчет его ничего не скажу.)
инае дальше рисования формочек и их раскрашивания мало кто уходит.
Записан
AleksK
Продвинутый
***

Карма: 2
Сообщений: 220


WinXP, Russian Fedora 10.1


Награды
« Ответ #18 : 03 Марта 2008, 22:16:03 »

Цитировать
про unix-way никогда не слышали? так вот ИМХО язык должен описывать интерфейс, чтобы реализацию могли делать сторонние производители. Иначе это уже фреймворк, а не язык.

Так это и есть фреймворк. Разве это плохо? Никто тебе не мешает переделать реализацию классов под себя. Если есть желание присоединяйся к разработке Mono. Тут тебя никто не ограничивает.

А .NET - это одна из немногих удачных концепций разработанных мелкософтом, которая получила хорошее развитие в опенсорсе. Она реально позволяет сократить время создания программы от идеи до конечного решения. И возможно через несколько лет .NET и Mono станут тем мостиком между Windows и Linux, который позволит использовать любимый софт на любой из платформ без танцев с бубном.
Записан
Леголегс
Гуру
******

Карма: 18
Сообщений: 1006


Fedora 12 x86_64


Награды
« Ответ #19 : 03 Марта 2008, 23:29:00 »

Цитировать
Если оно будет не в ущерб остальному нормальному софту, то я даже очень хочу систему полностью написанную на Java или Mono. Потому что у меня впечатление (ничем, правда, не подтвержденное), что от одного вида такого монстра самый ярый {жабо,моно}фил будет превращаться в ультрарадикального ассемблерщика.
--anonymous(linux.org.ru)
Я не знаю реально положительных примеров ПО, написанного на java/.net. Зато знаю отрицательные.
Записан

[ Мой FTP ftp://legolegs.homelinux.net ]
[ Репозиторий Fedora http://fedora.leschat.net/ ]
[ Репозиторий Ubuntu http://ubuntu.leschat.net/ ]
AleksK
Продвинутый
***

Карма: 2
Сообщений: 220


WinXP, Russian Fedora 10.1


Награды
« Ответ #20 : 04 Марта 2008, 00:11:37 »

Судя по тому что написали в LF, уже есть достаточно много программ написанных на Mono под Linux и их число будет расти. А Java и .NET это не совсем корректное сравнение. Microsoft удалось избежать тех подводных камней на которые в своё время напоролась SUN. В Java не смогли реализовать возможность использования нескольких языков, не сделали нормальный JIT-компилятор. А это очень плохо сказалось как на программировании под Java так и на скорости работы программ.
А на счёт реальных примеров хороших программ, то посмотрите на среду разработки в C# SharpDevelop под Windows или MonoDevelop под Linux онb полностью написана на C# и по своим возможностям превосходят большинство других сред разработки.
Да и цитата с linux.org.ru не самый хороший пример, там обитает очень много ортодоксов Улыбка
Записан
Леголегс
Гуру
******

Карма: 18
Сообщений: 1006


Fedora 12 x86_64


Награды
« Ответ #21 : 04 Марта 2008, 00:33:45 »

Много - это не "много хороших". На дельфях и пхп всё равно больше. А примеры, которые ты привёл - ну ещё можно эклипс сюда добавить. Получились у нас языки для разработки сред разработки. Потому что реальный пример использования дотнета - это, например, игра NWN2, известная своей неоправданной тормознутостью и глюками. Я считаю, что несмотря на прогресс железа будущее (ближайшее) всё равно за НОРМАЛЬНЫМИ языками. За вечноживым си, за навороченным c++, за D на худой конец. Писать на них не настолько сложно, чтобы так жертовать производительностью.
Записан

[ Мой FTP ftp://legolegs.homelinux.net ]
[ Репозиторий Fedora http://fedora.leschat.net/ ]
[ Репозиторий Ubuntu http://ubuntu.leschat.net/ ]
pupkin
Юзверь
**

Карма: 1
Сообщений: 44


Gentoo


Награды
« Ответ #22 : 04 Марта 2008, 00:47:02 »

Леголегс представляешь мир говорящий на одном языке и безупречно понимающие друг друга?
Записан
NeO
Злобный админчик
Администратор
*****

Карма: 62
Сообщений: 2376

Debian Stretch


WWW Награды
« Ответ #23 : 04 Марта 2008, 00:59:44 »

А .NET - это одна из немногих удачных концепций разработанных мелкософтом, которая получила хорошее развитие в опенсорсе. Она реально позволяет сократить время создания программы от идеи до конечного решения. И возможно через несколько лет .NET и Mono станут тем мостиком между Windows и Linux, который позволит использовать любимый софт на любой из платформ без танцев с бубном.
Главное, чтобы этот мостик не поломали быдлокодеры, ниасилившие ничего кроме моно для чайников Улыбка Вот в этом собственно и суть.

Я считаю, что несмотря на прогресс железа будущее (ближайшее) всё равно за НОРМАЛЬНЫМИ языками. За вечноживым си, за навороченным c++, за D на худой конец. Писать на них не настолько сложно, чтобы так жертовать производительностью.
Все зависит от задач. Например фронтенд для писалки дисков(k3b, gnomebaker) вполне можно наваять на моно, ибо производительность там не критична. И разрабатывать его будет проще, быстрее и безопаснее.

ЗЫ Вообще-то, господа, тема не про то, какой язык лучше, а про то, какой язык стоит начать изучать раньше других, а это две большие разницы. ИМХО, следующей ступенью для ТС должен стать С или С++. Ну и, конечно-же изучать надо не только и не столько язык, как алгоритмы Улыбка
Записан
AleksK
Продвинутый
***

Карма: 2
Сообщений: 220


WinXP, Russian Fedora 10.1


Награды
« Ответ #24 : 04 Марта 2008, 01:07:52 »

Если ты считаешь что Java и .NET это одно и тоже то ты сильно ошибаешься. А приводить в пример игрушку, по-моему, не совсем корректно для данного случая. Игрушки тормозят не от того на чем их писали, а от того КАК их писали, тормозят же игры написанные на "нормальном с++", все зависит от кривизны рук разработчиков (или от их желания заставить геймеров купить новое железо Улыбка ). Игрушки под консоли почему-то не тормозят и не просят обновить железо Улыбка
1С ввела у нас очень хорошую практику разделения труда, одни пишут компоненты и дополнения к движку (это и есть тот самый фреймворк Улыбка ), другие проектируют и реализуют на их основе свои бизнес решения, все довольны и счастливы, особенно конечные потребители Улыбка . В случае с Mono возможностей для каждого ещё больше, хотите писать на C++, играться с указателями и памятью вступайте в комманду разработчиков фреймворка, благо исходники доступны всем желающим, хотите писать прикладной софт, фремворк поможет создать приложение быстро и качественно, защитит от многих ошибок. А на счёт скорости зря ты думаешь что программы под .NET и Mono работают медленнее чем большинство программ на "нормальном С++". Компиляция кода происходит динамически во время запуска программы, поэтому запускается она чуть дольше, но среда откомпилирует код именно под ваше железо и поэтому возможно программа будет работать даже чуть быстрее чем её аналог на классическом языке.
Записан
mt
Юзверь
**

Карма: 2
Сообщений: 74


Gentoo, x86


Награды
« Ответ #25 : 04 Марта 2008, 07:42:23 »

Главное, чтобы этот мостик не поломали быдлокодеры, ниасилившие ничего кроме моно для чайников Улыбка Вот в этом собственно и суть.
+1 так было с delphi. Сама по себе вцл - довольно интересная либа, но весьма капризная. В опытных руках думающего человека, который понимает, что он делает, на ней можно написать большие и интересные проекты, которые будут работать без тормозов и ликов. Но поколение П, которому некогда было заморачиваться на изучение языка (BTW, delphi - это RAD, т.е. среда разработки, а вот язык там - object pascal), выбросило в массы такое количество сырых проектов, что просто страшно.

ЗЫ Вообще-то, господа, тема не про то, какой язык лучше, а про то, какой язык стоит начать изучать раньше других, а это две большие разницы. ИМХО, следующей ступенью для ТС должен стать С или С++. Ну и, конечно-же изучать надо не только и не столько язык, как алгоритмы Улыбка
Хех. Последнее утверждение абсолютно верное. Язык - это всего лишь средство реализации мысли. Но осознание этого приходит только после того, как изучишь пару-тройку различных языков (например, c, perl, ruby).

А вот что лучше изучать раньше других... ИМХО, для начала нужен именно С (не плюсы, а чистый С). Он приучит к типизации, пониманию основ работы с памятью и алгоритмами. Если хотите - это базовый уровень для того, чтобы уметь выражать свои мысли. Потом можно переходить к С++, но ни в коем случае не параллельно или сразу! Плюсы дадут понимание структурного и объектно-ориентированного мышления. Хочется большего - scheme,lisp и другие функциональные языки. Изучать асм посоветовать не могу - для этого нужно четко представлять как работает железо, а это сейчас мало кто знает, ибо читать некогда и неохота.

И вот когда за плечами есть некий багаж знаний, тогда уже выбирается не программа, которую надо написать на заданном языке, а рацинальный язык, на котором надо написать заданную программу.  Разницу понимаете? Улыбка
Записан

Life would be so much easier if we could just look at the source code.
mt
Юзверь
**

Карма: 2
Сообщений: 74


Gentoo, x86


Награды
« Ответ #26 : 04 Марта 2008, 07:57:11 »

Если ты считаешь что Java и .NET это одно и тоже то ты сильно ошибаешься.
Да-да, я помню:
Цитировать
Но тут некая группа в Microsoft нашла фатальный недостаток в Java - её писали не они!
(с)"История революций майкрософт" [http://www.progz.ru/forum/index.php?showtopic=23499]

А на счёт скорости зря ты думаешь что программы под .NET и Mono работают медленнее чем большинство программ на "нормальном С++". Компиляция кода происходит динамически во время запуска программы, поэтому запускается она чуть дольше, но среда откомпилирует код именно под ваше железо и поэтому возможно программа будет работать даже чуть быстрее чем её аналог на классическом языке.
т.е. ты хочешь сказать, что код, выполняемый виртуальной машиной интерпретируемого языка меньше занимает места в памяти и быстрее выполняется по сравнению с объектным кодом компилиремого языка?  Я правильно понимаю?

и это... а что есть "классический язык"? латынь? древнеарамейский? Кстати, что значит "аналог" - это аналог по гую или функциональности? По функциональности - наврядли быстрее. Сможете доказать обратное - буду рад.
Записан

Life would be so much easier if we could just look at the source code.
NeO
Злобный админчик
Администратор
*****

Карма: 62
Сообщений: 2376

Debian Stretch


WWW Награды
« Ответ #27 : 04 Марта 2008, 08:35:20 »

Цитировать
Если ты считаешь что Java и .NET это одно и тоже то ты сильно ошибаешься.
Вполне можно согласиться, т. к. виртуальная машина Java изначально разрабатывалась под разные платформы, а .Net получило жизнь на невиндовсах только благодаря тому, что у кого-то слишком забористая травка  Улыбка

Цитировать
Кстати, что значит "аналог" - это аналог по гую или функциональности? По функциональности - наврядли быстрее. Сможете доказать обратное - буду рад.
Простейший пример: BubbleSort на С будет медленнее, чем QuickSort на C#, при достаточно большом количестве элементов. Хотя делают вроде одно и то же Улыбка

PS А куда пропал топикстартер? Улыбка
Записан
AleksK
Продвинутый
***

Карма: 2
Сообщений: 220


WinXP, Russian Fedora 10.1


Награды
« Ответ #28 : 04 Марта 2008, 08:46:12 »

Ты по-моему путаешь с Pyton, Prel, Php и многими другими интерпретаторами. .NET (Mono) это не виртуальная машина, которая выполняет роль интерпретатора. Это среда выполнения программ, которая динамически КОМПИЛИРУЕТ те части программы которые выполняются в данный момент, занимается автоматической сборкой мусора и делает ещё много чего полезного. Если хочешь узнать получше почитай Тролсена у него хорошо все расписано.
Записан
NeO
Злобный админчик
Администратор
*****

Карма: 62
Сообщений: 2376

Debian Stretch


WWW Награды
« Ответ #29 : 04 Марта 2008, 09:10:50 »

Цитировать
Так же как и технология Java, среда разработки .NET создаёт байт-код, предназначенный для исполнения виртуальной машиной. Входной язык этой машины в .NET называется MSIL (Microsoft Intermediate Language), или CIL (Common Intermediate Language, более поздний вариант), или просто IL. Применение байт-кода позволяет получить кроссплатформенность на уровне скомпилированного проекта (в терминах .NET: сборка), а не на уровне исходного текста, как, например, в С. Перед запуском сборки в среде исполнения (CLR) байт-код преобразуется встроенным в среду JIT-компилятором (just in time, компиляция на лету) в машинные коды целевого процессора.
http://ru.wikipedia.org/wiki/.NET
Чувствую спор разрешит только раскуривание исходников моно Улыбка
Записан
Страниц: 1 [2] 3 4 ... 6   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2011, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM