Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Философия программирования > учить ли C#? |
Автор: koljan 5.1.2006, 03:28 |
Учусь на факультете информационных технологий нам будут преподовать c# стоит ли подробно изучать этот язык и вообще хорош ли он?![]() |
Автор: Cr@$h 5.1.2006, 04:09 |
Язык хороший, но учить его надо самому. Считаю, преподавать можно только Pascal, в самом начале, остальное лучше проходить по хорошим книжкам. |
Автор: Mephistopheles 5.1.2006, 05:51 |
Cr@$h Паскаль приподают для того, чтобы объяснить логику детям. А именно Паскаль, потому что он самый простой для понимания. Хотя, всё равно, те, кто не хотят кодить, не умеет этого делать. koljan Учить C# или нет - это вопрос тебя к тебе. Смотря чем ты хочешь заниматься. Если писать офисные приложения для различных систем или софт писать - учи. Если игры делать - не стоит тратить время. |
Автор: Medved 5.1.2006, 18:46 |
Язык программирования - это не сущность. А средство (в контексте слова "инструмент"). И как любое средство, его можно менять. Не важно какой язык изучать. Главное понять принципы, по которому все эти языки строяться. И тогда вы сможете переходить от одного языка, к другому, без серьезных временных затрат, на его изучение. Чтобы понять прниципы языка, вам необходимо изучить для начала любой, из их множества. Если вы хотите сэкономить затраты на обучение, и идти в ногу со временем, то я рекомендую начать обучение языкам программирования или с C#, или с Java. Так как это наиболее перспективные языки, на сегодняшний день, получившие широкое распространение. Лично я, отдаю предпочение C#-у. Однако это совсем не значит, что Java хуже. Просто у этих языков, разные сферы применения. Именно в силу этого мне приходиться работать с платфомой NET, что и обуславливает выбор C#-а. |
Автор: Дмитрий Т 8.1.2006, 15:30 | ||
Говорят, что C# есть ответ микрософта на появление Java. Важно понимать для чего нужны подобные языки. Программы написанные с их помощью выполняются несколько медленнее, но писать на них удобнее (автоматическая сборка мусора и т.п.). Микрософт последовательно развивает технологии взаимодействия программ друг с другом и на сегодняшний день C# и платформа .NET наверное самое лучшее для написания офисных программ под Windows. А вот операционные системы пишутся на ассемблере, C, C++ поскольку нужны маленький код и максимальная скорость. Так что надо определиться к чему больше лежит душа и учить соответствующий язык. |
Автор: profispb 8.1.2006, 16:17 |
Чем больше знаешь, тем лучше. А вообще то, что небходимо то и учи. Лично меня привлекают все языки(многие знаю). |
Автор: Cr@$h 9.1.2006, 05:17 |
Суммируя, можно ответить, что учи: если он для тебя первый, то хорошенько в нем разберись, т.к. в нем представлено большинство устоявшихся парадигм и приемов программирования, если ты уже знаешь какой-то другой язык, то шарпы ты наверняка полюбишь, увидев как лаконично и удобно там реализованы многие вещи. Если изучишь шарпы, то точно не прогадаешь в смысле перспективности и сможешь с легкостью переключатся на другие языки, тем более языки .Net, которых становится все больше и которые ввиду своей природы соответствую требованиям .Net-языка как и C#. |
Автор: COVD 3.2.2006, 00:32 |
Переключение на другой язык - это смена инструмента. Это как музыкант, поиграв три года на скрипке, переходит на фортепьяно, потом на баян и т.д. Главное ноты знать. Зато потом можно и на похоронах и на свадьбах играть ![]() |
Автор: Дмитрий Т 11.2.2006, 15:07 | ||
Только в музыкальных училищах больше двух инструментов не учат... Всё таки надо ещё и виртуозом стремиться стать, а не дилетантом... Так что золотую середину надо для себя найти ;) |
Автор: Парис 27.4.2006, 22:55 |
Смотря чем хочешь заниматься. В любом случае я не стал бы начинать с ОО языка. С ассемблера, кстати тоже не стал бы. Полагаю, что разумно было бы начать с С, а после привыкания к его синтаксису перейти на любой ОО язык с похожим синтаксисом (их много и перейти на Java, С++, Eiffel или ещё Бог знает на что будет проще). |
Автор: unicuum 29.7.2006, 05:02 | ||
Visual C#.NET можно изучать в связке с Visual Basic.NET. Разницы между ними практически не чувствуется. И тот и другой подтягиваются по возможностям к Visual C++.NET, хотя если есть возможность, то это не значит что её нужно использовать, напротив иногда это утомляет и замедляет процесс программирования. А в целом отвечу как все, то есть всё познаётся в сравнении и чем больше у тебя будет таких сравнений, тем лучше. |
Автор: Кнером 30.7.2006, 00:27 |
Одназначно учить Perl, C, C++, Unix/Linux. Плюнуть на мелко-слоновых и их "произведения". Надеюсь никого не оскорбил? Во всяком случаи не хотел. ![]() |
Автор: Gordon 9.8.2006, 18:51 |
Ребята, слышал, кричат, что С++ уходит в прошлое а на его место пришел С#, что-то мне не очень верится... |
Автор: unicuum 10.8.2006, 06:35 | ||
Мне тоже |
Автор: Sartorius 10.8.2006, 10:39 | ||
Скорее Java уходит в прошлое ![]() |
Автор: Кнером 11.8.2006, 17:18 | ||||
Не, не стоит. ![]() ![]() Тем более, что скокро он будет на всех компьютерах. Добавлено @ 17:20
Вас по крупному напарили. ![]() Добавлено @ 17:21 Ситуация противоположная. Скоро будет бум. ![]() |
Автор: MAKCim 11.8.2006, 17:47 | ||||
золотые слова, особенно последние 9 ![]() Добавлено @ 17:51
во всех областях C# C++ заменить не сможет, кроме того C# расчитан на Win в отличие от С++, компилятор которого есть практически на всех платформах Добавлено @ 17:53 я предпочитаю независимость от платформы по сему выбираю С++, Java, python, perl ... |
Автор: Sartorius 11.8.2006, 18:00 | ||
Чем докажешь? Общаюсь с большим количеством разработчиков и пользователей . Ни у кого ни Linux , ни чего-то UNIX-подобного не видел. |
Автор: Кнером 11.8.2006, 18:18 | ||||
Ещё бы, было не так! ![]() Посмотрел твой профиль (увлечения). ![]()
Золотые слова! + А шо, да лехко. Сегодня один из отделов перевел на Linux. Большинство фыркали. Когда усё настроили и их любимые программки и для работы, у шо было, ты себе не представляешь. ![]()
Да, у меня противоположная ситуация. ![]() ![]() Время покажет. У же во многих ВУЗах припадают Линукс QNX. Вот. Sartorius, тебе нравится Винда, используй её, тебе же никто не запрещает. Каждый сам для себя определяет. |
Автор: Sartorius 11.8.2006, 19:15 |
[OFFTOP] В том-то и дело, что винда мне не нравится. Вот я и думаю, что будет если я на Linux перейду. Не в том смысле, что я ее у себя дома поставлю, а в том, что прогать под нее начну... Заказчики-то все под Windows сидят, а пишу я не токма для удовольствия, но и корысти ради ![]() ![]() [/OFFTOP] |
Автор: Кнером 11.8.2006, 19:55 | ||||||
Sartorius, ай-я-яй. ![]() Не нравится, меняй! Изменится мировозрение. Узнаешь много другого, интересного. Ширя взгляд станет. Это можно представить как ты крутишься в одной компании, говоришь на определенные темы. Тебе не нравится как эта компания проводит время, чем занимается и т.д. Смени, найди другу, подходящую тебу. Будут другие темы, другие интересы, другая жизь. С кем поведешься, от того и наберешься. Как устроен телефон, что происходит при нажатии кнопок, а потом? Мышление. Мыслить. Уф.
Так это здорово! Дерзай! Главное желание чтобы было и уметь его удерживать.
Да, да, автомобиль существует только марки BMW. Поподешь в другую компанию, появятся другие заказчики. Только они более солиднее и не глупые. Просто чуть сложнее будет. А ты знаешь, что мозг делает со сложными задачами? Просьба к терминам не предираться.
Хммм... С какого года не помню, на всех серверах были ТОЛЬКО Unix. И сейчас преобладает. А на десктопах развивается семимильными шагами, вкладываются милиарды в это дело. В развитие Unix/Linux люди вкладывают свою душу, часть себя, по большей части бескорыстно. Статистика, дело относительное. Всё зависит от человека. Ты как разработчик, напишешь первокласный продукт под Линукс. А пользователям он позарез как нужен будет. Они будут вынуждены использовать Линукс. 1С знаешь? Сейчас создается версия под Линукс. Линукс - это удобно, качественно, красиво, развивающи, будущее. |
Автор: drkot 14.8.2006, 18:08 |
таки определись Линукс или QNX? Ибо сии системы имеют различия (принципиальные) и предназначены для разных вещей. Система QNX - реального времени предназначена восновном для автоматизации и управдения девайсами. Защита практически 0, она и не нужна ибо концепция распределенной системы вычислений обеспечена. Сетевые протоколы свои (IP и не пахнет). Работать за станцией должен профи, или пользователь с одной клиентской программой (АСУТП). Линукс - для рабочего места юзверя. Простой пользователь врядли полезет дальше стандартной настройки. Установка софта имеет шанс 50/50 без спец знаний. В офисном использовании слабоват по сравнению с мягкими. И тд.... А учить можно любой язык. Главное чтоб польза была. На данном этапе к каждой категории (области применения) языки вобщемто равны. принципиальных отличий нет. По поводу кросплатформености: исходник написаный на С под Линукс в QNX не скомпилится с вероятностью 90% (hell word не считается). И так почти во всем. Кросс больше фишка нежели реальность и для нормальной работы зачастую требует значительных усилий. С++ хороший язык тока разгребать исходники на нем весьма проблематично (голова круго идет ![]() |
Автор: Кнером 18.8.2006, 10:03 |
Sartorius, прочитай все http://www.linuxcollege.ru ![]() Конечно можно придраться к любой мелочи, но зачем? Если бы я написал BMW Audi. Ты же не написал бы: "таки определись BMW или Audi, так как это разные машины и имеют различия (принципиальные)". Возможно я не совсем корректно выразился и забыл запятую. Я определился уже давно и выбрал Linux. Линукс или QNX, зависит от ВУЗа. В одном Линукс в другом QNX. В большинстве выбирают Линукс. |
Автор: Кнером 18.8.2006, 11:22 | ||
Это последнее сообщение в теме http://forum.vingrad.ru/index.php?showtopic=97471&hl=%D1%83%D1%87%D0%B8%D1%82%D0%B5&view=all |
Автор: Exception 18.8.2006, 12:19 |
Кончаем оффтоп. Не вижу никакой связи вашего обсуждения с языком С#. |
Автор: MAKCim 18.8.2006, 19:30 | ||||
почему это?
Тема называется Учить ли С# один из аргументов к тому, что не стоит (имхо) слабая возможность использования этого языка в разработках для разных платформ, как пример одной из таких платформ - linux система. Отсюда видим связь между нашим обсуждением и языком C# ![]() Хотя, Exception, ты прав, а то скоро тема перерастет в какие-нибудь РВ ![]() |
Автор: $tatic 18.8.2006, 21:50 |
Тогда почему уже существуют разработки программ на C# под Линукс? Равно как и разработки IDE для программирования на .NET/Mono под Линукс. ИМХО C# наоборот предлагает бОльшую кроссплатформенность при разработке. Да я понимаю, что приложение, созданное под .NET вряд ли пойдет на Линуксе, поскольку в Mono отсутствует System.Windows.Forms.dll, а GUI программируется с использованием надстроек над GTK+. Но все-таки это одна из возможностей сделать кроссплатформенное приложение с наименьшими проблемами. |
Автор: Ch0bits 18.8.2006, 23:12 |
$tatic ASP.NET сайты запускаются под Mono, это в общем-то его первая задача, т.к. linux серверный ОС. ИМХО: Почему желательно изучить dotNET и C#? Потому что всё создаваемое MS 100% приживается на рынке и бывает популярно. Во первых MS монополист и диктует свои правила, во вторых обладает практически неисчерпаемыми финансовыми ресурсами. Это в свою очередь даёт стабильнось и веру в будущее. Следовательно легче найти работу, знания продуктов MS всегда в цене, да программисту живётся спокойнее. Помните, в наше время выживает не сильнейший, а хитрейший. Это многократно доказывалось историей индустрии. |
Автор: MAKCim 19.8.2006, 10:17 | ||||||||||
.NET под M$ и .NET под *ix это две большие разницы если бы M$ целенаправленно занималась распространением .NET на другие платформы - это одно, а так...сторонний разработчик никогда (или почти) не сделает продукт лучше чем фирма разработчик (имеются в виду такие продукты как mono, ...) другое дело java...
сами себе противоречите, какая же это бОльшая кроссплатформенность
быть зависимым от одной компании и принимать все их условия - ни к чему хорошему это не приведет и вообще - любая монополия - это зло и препятствие к дальнейшему развитию (естественно имхо)
особенно, чего-нибудь новое придумают и придется переучиваться ![]()
вопрос какую |
Автор: 3me1 19.8.2006, 13:56 | ||
а можно поинтересоваться ЧЕМ тебе ТАк не нравится винды? |
Автор: MAKCim 19.8.2006, 16:09 | ||
я тоже могу ответить если интересует но в другом топике ![]() |
Автор: 3me1 19.8.2006, 18:39 |
буду рад послушать ![]() |
Автор: $tatic 19.8.2006, 19:23 |
MAKCim, да, это минус реализации Mono, но ведь можно сделать программу, в которой вся функциональность идет в dll, которую подключает exe в варианте для винды (.NET FX) и для *nix (Mono). Поскольку файлы в MSIL весят немного, то ощутимой нагрузки для пользователей это не создаст. Единственный недостаток такого решения в том, что необходимо разрабатывать две версии GUI к программе, но поскольку 1) если программа Open Source (или специфицирует dll с классами), то кто-либо может сделать такой GUI для GTK.NET; 2) если программа коммерческая (и требуется кроссплатформенность), то создание такого GUI экономически обосновано. Да, я понимаю, что программы на Java гораздо более переносимы за счет стандартной реализации классов GUI, но ведь приложение Java как интерпретируемом языке выполняется все-таки медленнее, чем для .NET/Mono (или я не прав?). Кроме того, даже закрывая глаза на какую-либо возможность переносимости программ на C#, не стоит забывать о том, что Microsoft усиленно продвигает платформу .NET. Ведь многие компоненты той же Vista (кстати говоря, до сих пор недоделаной системы) написаны на .NET. Даже приложения для DirectX уже пишутся на C# (в том числе и коммерческие движки для игр). Не исключен и тот факт, что в один прекрасный день MS скажет, что отныне доступ к DirectX будет осуществляться только через Managed-интерфейс. (Вполне возможно, поскольку заявленная производительность управляемой версии DirectX составляет 98% производительности неуправляемой COM-реализации для C++) Хотя и существует версия Managed C++, но все же именно C# является основным языком платформы .NET, поэтому ИМХО знать его все равно может пригодиться. Имейте в виду, что я нисколько не умаляю достижений Open Source, равно как и не считаю C# каким-то "богоподобным" языком. Просто в данное время .NET считается одной из самых перспективных платформ (по крайней мере по мнению MS). Но раз появились такие реализации этой платформы как Mono или dotGNU, значит все-таки на эту платформу имеет смысл обратить внимание. |
Автор: MAKCim 19.8.2006, 20:15 | ||||||||
Сделать все можно, но, опять повторяюсь, без поддержки M$ сложновато. Mono всегда будет отставать. Только начнет поддерживать какую-нибудь версию .NET так M$ выпустит новую и т. д...
Не прав в общем случае Программа на java компилируется в байт код, который потом исполняется на виртуальной java-машине В .NET аналогично, компиляция в машинно-независимый MSIL код, который в ходе выполнения программы на лету JIT-компилятором транслируется в машинно-зависимые инструкции
ЧТо-то с трудом верится, особенно про движки для игр, может пример приведете?
Сам язык учится за неделю после С++ (убедился лично). Тут скорее платформе в целом надо больше внимания уделять |
Автор: $tatic 19.8.2006, 22:36 | ||
http://www.visual3d.net http://www.garagegames.com http://www.exdream.com http://www.suva3d.com
В том то и дело, что программа для .NET компилируется в машинно-зависимые инструкции. Следовательно кусок кода, который был единожды скомпилирован во время выполнения программы, будет в дальнейшем просто выполняться на процессоре без повторной трансляции. Кстати говоря, компиляцию в машинные коды можно производить и во время установки приложения. В частности так поступает и инсталлятор самого Framework. На Java же программа интерпретируется из байт-кода. |
Автор: Void 19.8.2006, 22:43 |
Нет. Ключевое слово: HotSpot. Java точно так же JITится. Спор бессмысленный. И Java и .NET занимают свои ниши, и сокращаться их популярность в ближайшие лет пять-десять вряд ли будет. |
Автор: Ch0bits 19.8.2006, 23:23 |
MAKCim Игры - http://www.thezbuffer.com/categories/games.aspx Движки - http://www.thezbuffer.com/categories/engines.aspx Гыгыгы... зато java язык простой как 5 копеек. ![]() |
Автор: MAKCim 20.8.2006, 10:19 | ||
И что из этого. ЧТобы писать нормальные программы, он должен быть офигенно сложным или навороченным? Возьмем тот же python: язык очень прост (имхо), как в изучении так и в целом (синтаксис ...), однако позволяет писать минимально с максимальным результатом ![]() |
Автор: $tatic 20.8.2006, 10:40 | ||
Если так, извиняюсь - я этого не знал. Кстати, вроде бы на Java написана игра Xtreme Rally (движок Chrome к ней написан на C++ ![]()
К сожалению он практически только на *nix распространен. (Есть язык для .NET на основе python - Boo, по умолчанию входит в MonoDevelop) Вроде бы от C# он мало чем отличается (если общие принципы и синтаксис рассматривать). |
Автор: MAKCim 20.8.2006, 10:47 | ||
http://www.python.org/download/ |
Автор: Ch0bits 20.8.2006, 10:58 | ||
Вообще похожи C# и Java только по первому впечатлению, на самом деле больше различий чем совпадений. Платформы тоже очень разные. (так говорит мой двухлетний опыт) Както ставил... ужаснулся и удалил. Наверно это не моё. ![]() Кстати, Python как скриптовый язык входит в JRE 1.6
Я этого не говорил. Просто он уж слишком прост для нашего времени. |
Автор: MAKCim 20.8.2006, 15:09 | ||
а что в нем такого ужасного ? ты еще perl-a не видел ![]() |
Автор: $tatic 20.8.2006, 15:52 |
Ch0bits, я же сказал, что Я не имел в виду библиотеку классов. Понятно что классы Java и .NET значительно различаются. Программирование даже без учета платформы также будет различаться из-за различий в возможностях этих языков. MAKCim, Насчет того, что python работает под Windows - это не удивительно. Но много ли программистов делают проекты на python для windows. Тут дело в частности из-за того, что недостаточно развита библиотека классов. Аналогичные примеры можно для многих языков привести. Например есть язык D, который сочетает многие достоинства Java, C++, C# и других языков. Но на нем серьезно не программируют из-за неразвитости библиотек. Или такой язык как Haskell, о котором, как мне известно, многие программисты отзывались хорошо, поскольку он позволяет проще и логичнее реализовывать многие алгоритмы, но его непопулярность также связана с его окружением. |
Автор: MAKCim 20.8.2006, 15:57 | ||
Вопрос, откуда сведения про программистов python для windows и пользовались ли вы сами python-ом (к вопросу о библиотеки классов) |
Автор: Кнером 20.8.2006, 16:02 |
Может? ![]() В том то и дело, тот кто будет учить MS продукты, он может быть и пригодится, а в целом нет. |
Автор: MAKCim 20.8.2006, 16:06 |
Кнером, согласен |
Автор: drkot 21.8.2006, 14:30 |
C# - для меня это чтото сродни BASIC на SPECTRUM (встроенный интерпритатор). Это язык использующий эже готовые блоки (зависимые от железа и системы). Но такие блоки в априоре должны быть написаны для всех возможных комбинаций системы-железо. Исключительно этим и достигается кросплатформеность. Тоесть для нормальной работы на конкретной платформе необходимо скачать Движек NET созданный для этой платформы. Сам по себе код приложения не должен содержать каких либо функций уровня системы или железа. (примерно тоже и с Java). Такие языки как C(C++), Delphi, FreePascal позволяют писать программы адаптированные под конкретный прощессор (семейство) и системы (семейство). При написании программ на этих языках от программиста требуется (практически всегда) знание особонностей платформы под которую он пишет. Кросплатформанность в этих языках всего лиш фишка реализуемая дериктивами компилятора и требующая знания особенностей платформ для которых приложение будет скомпилировано + наличие компиляторов. В настоящее время это языки имеют равные возможности и занимают одну нишу рынка. В последние годы рынок ИТ развивается бурно что то появляется, что то исчезает. Ряд языков практически умерли (ADA, FORTRAN, COBOL, FOXPRO), на их место пришли другие. Но С пака жив и вымирать не собирается (правда Pascal подобные его потеснили) . Невашно на каком языке писать главное понимать его предназначение и концепции программирования на данном языке и не возводить его в абсолют. Тоесть не пытаться все писать на C# или Java ибо важна не только простота реализации но и функциональные характеристики ПО. А крослатформенность это миф - красивая сказочка и ракламный трюк за которым скрывается кучка подводных камней и проблем. Например: NET и Java обязательно пребуют наличие "дополнительного ПО" в случае NET весьма недетских размеров + программы требуют для корректной работы "последнюю" версию движка которыю Вы еще не скачали. У меня наблюдается глюк: сколько не ставлю ява приложения они постоянно требуют установить с ними и ява машину причем с уже имеющейся работать не хотят (даже со своей ранее установленной). |
Автор: MAKCim 21.8.2006, 18:47 | ||||
Как связана кроссплатформенность с директивами компилятора? Знаний особенностей платформ не требуется, однако это помогает оптимизировать код, генерируемый компилятором (например флаги CFLAGS, CXXFLAGS) ИМХО, кроссплатформенность здесь, как уже было сказано компиляторы + стандартная библиотека (или другие кроссплатформенные библиотеки (например QT)) Пользуясь только ими, получаем полностью переносимый на другие платформы исходный код
да |
Автор: Кнером 21.8.2006, 18:49 | ||
Совершенно верно! Поставил плюсик. ![]() Добавлено @ 18:51 MAKCim, ща плюсы буду тыкать, ай как это дело нравится ![]() |
Автор: Ch0bits 21.8.2006, 19:17 | ||||
Короче, товарищи флудеры. ![]() C# учить стоит! Почему? 1. Microsoft его изо всех сил продвигает и у неё это 100% получится. 2. Позиция C# сильно усилятся с выходом Windows Vista, т.к. .NET Framework будет интегрирован в систему и её(системы) новые ключевые функции будут доступны через классы фреймворка. 3. C# уже сейчас распространён в оффшорных компаниях, где как известно платят больше чем в российских. Т.е. реальный спрос уже есть. 4. + всё что я писал в своих постах выше. drkot, во многом согласен.
Ты просто не умеешь их готовить (запускать). ![]()
Для серьёзных программ не проблема, но краеугольный камень некоторых разработчиков десктопных приложений и шараварщиков. Но .Net 3 будет встроен в Висту и станет стандартом на длительное время, что приведёт к большому росту числа программ на нём написанных. |
Автор: MAKCim 21.8.2006, 19:37 |
Ch0bits опять таки, все это касается M$ и M$ Window$ если нацелены только на нее, то учить, пожалуй стоит |
Автор: Се ля ви 21.8.2006, 23:00 | ||
Учить ли C#? Учить или не учить? ![]() Интересно, читал ли аффтар топика хотя бы его половину - кроме первого поста от него больше ничего и не было, вы не заметили? ![]() Мой ответ такой - смотря чего хочется. Позиции C# и MS SQL наиболее сильны сейчас на рынке решений для среднего бизнеса, а Java`ы и Oracle`а - на рынке крупного. Ну а для мелкого - есть тот же Delphi с Interbase для автоматизации и PHP c MySQL для сайтов. Хочу предостеречь - крупного - это не значит, что денег на нём больше или меньше, ибо цены повышаются вровень с уменьшающимся рынком сбыта, но это всё-таки специфика. По этому я бы вопрос вернул тебе, если ты ещё до сих пор всё это читаешь - в каком бизнесе ты хочешь делать карьеру? В среднем бизнесе меньше цена поражения, но и выигрыши от успешного проекта меньше, хотя их и можно делать чаще. Но у Java из-за этого будет очень тяжёлый старт - на рынке восновном востребованы программисты с опытом, ибо задачи часто ответственные и сложные. И учить так, что бы изучить на профессиональном уровне эти языки - долго и сложно. Если ты хочешь программировать, зарабатывая большие деньги, то выбирать полюбому нужно из этих двух языков. Sun не так богата, а российское представительство MS, есть такое подозрение, не очень честно обхаживает министерство образования, намекая, что закроют глаза на пиратский софт, в изобилии стоящий тут и там - за ответную услугу, по-этому ВУЗы как правило отдают предпочтение обучению именно её, MS технологиям - к сожалению, с этим приходится считаться. ![]() ![]()
![]() Что значит - миф, сказочка? Кроссплатформенность - она либо есть, либо - нет. Факт - напиши прогу на Java, откомпили и запусти где нужно. Enjoy. ![]() По поводу обновлений Java - они уже сами обновляются автоматом - шарят по инету время от времяни и если видят обновления - скачивают и ставят, как антивирусы или та же винда - практически не беспокоя по этому поводу нервного юзера. Разве что первый раз, всё-таки, надо сделать неимоверное усилие и поставить. И вообще давайте вернёмся к теме - человек совета просил. Человек его получил? Тема для тебя ещё актуальна? А то тут уже "религиозные войны" начались. |
Автор: Void 22.8.2006, 00:19 |
Се ля ви, да такие темы все равно к одному скатываются ![]() |
Автор: Кнером 22.8.2006, 07:24 | ||||||||||
Пожалуй? ![]() Сомнения блуждают? Наверное к лучшему. ![]()
Как-то странно, не нравится мне всё это. Чувствую что-то будет не хорошее. ![]()
А зачем? Нам и так хорошо! ![]() ![]()
Не согласен. Во-первых, устанавливают Windows потому-что большинство учителей не знаю Linux. Во-вторых, есть глупые админы, которые знают только Windows и продвигают его.
Я плякаль. ![]() Void, потому-что человек должен решить сам. |
Автор: MAKCim 22.8.2006, 10:38 | ||
Не сомнения, я человеку сказать конкретно, учить или нет, не могу - иначе это будет давление и навязывание моей точки зрения касаемо этого вопроса. Решать то ему. Пожалуй в этом контексте означает что M$ программисту скорее стоит учить C# чем не стоит Для себя я на этот вопрос уже ответил (пост 18) А вообще время покажет, каки языки стоило бы изучать ![]() зы. мне почему-то кажется что на последний вопрос я знаю ответ (но не скажу) |
Автор: Ch0bits 22.8.2006, 11:57 | ||
Да пробовали ставить. Сами заколупались и учителя измучились. А ведь детишкам ещё после уроков хочется в игры по сетке погонять. У меня в школе даже целый бизнес был, инф. класс/игровой салон в одном флаконе. Налоги естественно никто не платил. ![]() |
Автор: Кнером 22.8.2006, 13:58 |
Ch0bits, так надо было обратиться за помощью в http://forum.vingrad.ru/index.php?showforum=29 Как вариант ставить две ОС. Для обучения Линукс, а для игры Виндовс. Можно да же не ставить, можно использовать либо дискету, либо LiveCD. Про игры в Линксу я мола чего знаю, но мгу сказать, что их уже не мало. Есть и платные. |
Автор: Ch0bits 22.8.2006, 22:12 |
Кнером Это было так давно, что я даже не знал про существование Vingrad'a. А так конечно бы обратился. ![]() |
Автор: Gordon 22.8.2006, 22:17 |
Да, по ходу так и есть!!! |
Автор: Кнером 23.8.2006, 07:42 | ||
Первый блин комом. Нужно попробывать ещё раз! ![]() |
Автор: drkot 28.8.2006, 14:08 | ||
Ява в данном случае скорее исключение нежели правило (написана ява была изначально под сан потом портирована на *ник потом на мс). Язык, что называется, "высокого уросня" привязан к набору библиотек и этим ограничивает возможности программиста (можно конечно расширить своими библиотеками но при этом надо заботится о создании бинарником под все необходимые ос). При этом си и делфя языки "широкополосные" (от самого низа "асм" - и до верхов ) что непозволяет портировать исходный код без внесения в него изменений (не только между платформами но даже внутри одного семейства) если конечно программист не позаботился о структурировании кода и условной компиляции в зависимости от типа ос (такой механизм кроплатформенности проповедует борланд, за мс не знаю). вот так и связана. |
Автор: MAKCim 28.8.2006, 15:46 | ||||
пойдет на любых платформах, где есть компилятор С++ ![]() еще раз, если пользоваться стандартной библиотекой и/или кроссплатформенными библиотеками, то код будет портироваться без изменений |
Автор: drkot 28.8.2006, 15:58 | ||
MAKCim, попробуй обход директорий написать так, чтоб код везде пошел. Процедура весьма простая и стандартная у меня 90% разработок с диском работают.
и только "Hello, World!" написать и получится со стандартными библиотеками (шаг влево, шаг в право - попытка к бегству и растрел). Примеров задач которые нельзя реализовать одним кодом для разных ос уйма + далеко не всегда устраивают стандартные библиотеки как никак и свои пишутся а они редко кросплатформенность поддершивают (по себе знаю - работает ну и хорошо). |
Автор: MAKCim 29.8.2006, 11:41 | ||
сам не пользовался, но в boost::filesystem это есть (точнее классы/функции для реализации) а boost вроде как кроссплатформенная (по крайней мере есть и на *ix, и на M$) |
Автор: drkot 29.8.2006, 14:39 |
MAKCim, просто в никсах и винде различные структуры описывающие файл и в нормальной жизни требуют два различных блока для их разбора. Можно написать конечно стыковочный интерфейс и работать через него, но это дополнительный код время и ресурсы (в данном случае мизерные, но бывают и другие более ресурсоемкие задачи к примеру работа в сети). Использование сторонних интерфейсов для создания крос приложений ограничивает Вас в возможностях и диктует свою концепцию не всегда хорошую. Работает такое приложение медленнее ресурсов ест больше и тд. ИМХО приложение написанное для решения конкретной задачи под конкретную систему врядли понадобится портировать кудато еще. |
Автор: MAKCim 29.8.2006, 15:16 | ||||
ну не скажи, удачно сделанная программа обычно на одной платформе не задерживается (кроме специфических приложений системного характера) Добавлено @ 15:21
с этим согласен думаю пора с этой темой заканчивать ![]() |
Автор: Се ля ви 29.8.2006, 21:09 | ||||
Хе! Исключение - из какого правила? Мне это напоминает высказывание об экономистах, что они в своих экономических теориях считают реальный мир - всего лишь частным случаем. ![]() И ограничивают реального программиста не набор библиотек, а его собственные физические возможности их изучать, поскольку это - океаны информации. Пишется такое гигантское количество открытых и коммерческих библиотек, да ещё и темпы написания новых возрастают экспоненциально, что говорить такое - это всё равно что утверждать, что океан ограничивает пловца. Да, ограничивает, но только такого, который может его весь переплыть вдоль и поперёк, обплавать каждый квадратный метр; и когда ему больше деться будет некуда - он поймёт, что заперт, что он в тюрьме-ловушке этого океана - и у него начнётся прямо клаустрафибия какая-то... И библиотеки платформо-зависимые тоже уже по большому счёту все давно забили писать - даже для драйверов БД, где скорость очень важна - их редко применяют, восновном всё пишется на чистой Java, что бы не было проблем с переносимостью - запаковал - и в путь. Это только кажется, что платформо-зависимость - это круто, что это огромная скорость и надёжность. На практике зарплата высококвалифицированного программиста намного превышает издержки на покупку мощного компьютера, причём такого мощного, что бы приложение шло так быстро, как надо. Так зачем лезть из кожи вон, добиваясь 100% отдачи от устаревшего дешевейшего железа, когда тебе платить в месяц будут в 3 раза больше, чем оно стоит? Или ты согласен ишачить за гроши? Даже компьютерные игры сейчас делают для довольно продвинутых компов, что уж и говорить о системах корпоративной автоматизации?
Чего там борланд проповедует вообще непонятно - особенно в свете последних событий в интимной жизни этой конторы. Но тенденции прослеживаются чётко - будущее за виртуальными машинами. А прогресс неумолим. Ну вот подумай - изобрёл какой-нибудь талантливый изобретатель какой-нибудь классный процессор, который тратит меньше энергии, быстрее существующих на два-три порядка, да ещё и какие-нибудь новые возможности открывает. Но никому он нахрен не нужен, потому что и интел и АМД ему скажут - иди, Вася, развлекайся дальше, ибо у нас тут столько софтины жёстко припаяно для старых процов, что выкинем мы твой проц на рынок - что, весь софт переписывать? Так что мы тут будет потихоньку его ускорять, следить только, что бы всё старое на нём шло, а то не дай бог - девелоперы такой вой подымут!.. А так - любо-дорого - приходит в Sun и в MS и говорит - ребята! Тут такая классная тема - давайте вы под новый проц свои виртуальные машины и системные либы перепишите - и на всём компутерном рынке начнётся непрекращающийся оргазм, ибо как по мановению волшебной палочки у людей старый софт заработает на несколько порядков быстрее, да ещё может и новые интересные возможности какие-нибуть появятся ![]() Пока развитие железа зависит от всё возрастающего объема софта, чем больше этот объём софта, тем тяжелее развиваться железу и в итоге прогресс начинает буксовать, порождая уродов. Необходимо эти два вида прогресса распараллелить для их гармоничного развития - этим и занимаются виртуальные машины, а кроссплатформенность борланда - вот они и попали под влияние MS со своей кроссплатформенностью - и получился Delphi.NET. С добрым утром! ![]() |
Автор: LSD 30.8.2006, 11:30 | ||
1. Никакой гениальный изобретатель процессор на ровном месте не создаст. А если и будет создавать, то точно будет ориентироваться на систему команд нынешних процессоров. 2. Вируальной машине все равно какой код интерпретировать, будь это байткод JVM, IL .NET или x86 код. Вернее разница конечно есть, но она технического плана, а не принципиального. Основная трудность состоит в портировании API (это не столько трудно, сколько трудоемко). Хорошим примером является Apple и ее переход на x86 архитектуру. 3. Ядро ОС и драйверы на подобных языках не напишешь, так что опять Си и ассемблер. |
Автор: Се ля ви 31.8.2006, 10:22 | ||||||
Дык о том и речь - зачем ему на неё ориентироваться? Тут как с курицей и яйцом - кто первый?
Согласен. ![]()
Конечно, но это уже системный уровень - я же говорю про прикладной. |
Автор: LSD 31.8.2006, 10:42 | ||
Никто не будет делать HDD или видеокарты для какой-то малоизвестной платформы. Есть IDE/SATA и AGP/PCI-X подгоняй свою платформу под них, тоже самое с остальной переферией. Есть существующие ОС. Microsoft не ринется переносить Windows на новую платформу как только узнает что есть такой замечательный процессор. Энтузиасты, конечно пересоберут ядро Linux под этот процессор, но тоже со временем, а вот будут ли крупные дистрибутивы Linux портироваться под новый процессор, это еще вопрос. Т.е. получается, что на начальном этапе софт и ОС под этот процессор должна писать та же фирма, что его выпустила, больше это никому не надо. Вот например возьмем тот же Cell от IBM - замечательный процессор. Позволяет очень хорошо наращивать вычислительную мощь системы, но принципиально другая архитектура. И в результате, до сих пор никто не заявил что будет делать рабочие станции на нем, не говоря уж про персоналки. P.S. А система команд у x86 вовсе не такая уж и замечательная, даже скорее наоборот. |
Автор: Mayk 31.8.2006, 11:35 | ||
если завтра cell будет стоить 37 центов, то amd и intel уйдут на затворки. Они не данность, но изобретение. Сегодня есть в пк, а завтра в музее. Когда-то SATA к примеру не было. |
Автор: LSD 31.8.2006, 13:08 | ||
Они уже на задворках рынка процессоров для приставок. И X-box 360, и PS3, и Wii используют Cell. Даже без снижения цены до 37 центов. Но десктопов на базе Cell нет. Они стандарт де-факто на текущий момент и с этим надо считаться. |
Автор: koljan 24.9.2006, 19:47 |
Вот и настал этот момент НАЧАЛСЯ C# |
Автор: Кнером 25.9.2006, 12:11 |
koljan, так же быстро и закончиться. ![]() |
Автор: MAKCim 25.9.2006, 16:48 | ||
Нет никакой гарантии что завтра в M$ не придумают чего-нибудь еще |
Автор: nerezus 26.9.2006, 07:43 | ||
|