Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

Язык программирования C#

C#, он же C Sharp, что расшифровывается как «Си Диез», вернее, как полутон «До Диез» в нотной грамоте, на самом деле никакого отношения к музыке не имеет. Потому что это объектно-ориентированный язык программирования. Нужен ли он вам, имеет ли смысл его осваивать, такое заключение вы сможете сделать самостоятельно. Возможно, даже после прочтения нижеследующей статьи.

Ну а наша задача — всего лишь изложение общих сведений о «Диезе» простым языком, доступно для делающих первые шаги в создании софта.

Как всё начиналось

В конце двадцатого века, году в 1998-м или около того, парни из компании Microsoft осознали смутное беспокойство. Что-то их тревожило. А именно — появление в электронно-цифровой природе языка Java, представленного компанией Sun в 1995-м.

Поначалу вышеуказанные парни попытались переделать виртуальную машину Java по-своему, отпилив кросс-платформенные возможности. Получилось нечто под названием Microsoft Java Virtual Machine, уже давно никому не нужное изделие.

Затем решили не ограничиваться полумерами и придумали платформу Microsoft .NET Framework, работающую по тому же принципу, что и среда Java, с переводом содержимого программы в промежуточный байт-код.

Вот для этой платформы и сделали собственный стандартный язык программирования. Как именно сделали? Очень просто.

Недолго думая, парни взяли язык C («Си»), созданный гениальным человеком по имени Деннис Ричи ещё в 70-х годах двадцатого века, и на его основе изготовили C#. То бишь, C Sharp. Сей продукт предъявили миру в 2001-м. Ну а для всего, что работает по технологии Microsoft .NET, создали специальную среду Common Language Runtime (сокращённо CLR).

Ничего крамольного в этом нет, ведь превосходный C стал основой и для C++, и для того же Java. В общем, для целого семейства языков.

Краткое сравнение

Нередко встречается мнение, что на первый взгляд код, написанный на C#, можно спутать с кодом на Java или C++. Те же фигурные скобки, ограничивающие блоки с функциями. То же слово Void, превращающее функцию в процедуру, ну и так далее.

Однако сие заблуждение необходимо опровергнуть, причём, наглядно. Возьмём понятное для начинающих — посмотрим, как пишется традиционное «Привет, мир!»

На языке от Microsoft:

using System; 
namespace HelloWorld 
{ 
    class Hello 
    { 
        static void Main() 
        { 
            System.Console.WriteLine("Привет, мир!"); 
		} 
	} 
}

На Java:

public class SimpleProgram { 
    public static void main(String[] args) 
    { 
        System.out.println("Привет, мир!"); 
    } 
}

На C++:

#include <iostream>
int main()
{
    std::cout << "Привет, мир!" << std::endl;
    return 0;
}

Капитан Очевидность говорит, что перепутать языки несколько затруднительно, несмотря на наличие фигурных скобок и точек с запятой. Даже в случае с примитивнейшим кодом «Hello, world!»

Да, действительно, отличий хватает. К примеру, в названиях встроенных типов. В Java — boolean, а в предмете обсуждения — bool.

В Java в качестве констант служат переменные с модификатором final, а в рассматриваемом языке имеется const.

В Java для выхода из вложенного цикла используется оператор break, а в C# сохранён старый добрый оператор goto.

Оставлено также ключевое слово struct, взятое из C++ и указывающее на наличие пользовательских типов-значений. (Тип-значение — нечто похожее на класс, но без возможности наследования.) В Java, чтобы наследования не было, просто помечают класс модификатором final (как-нибудь вроде final class ClassName).

Вообще, отличий от других языков семейства С предостаточно, нет смысла пересказывать все. Достаточно просто сказать, что синтаксис языка от Microsoft в сравнении с тем же Java более богат и широк, многое заимствовано из C++, но каких-либо новых экстраординарных средств не добавлено.

Где используется

Используется для создания веб-приложений по технологии ASP.NET (это составная часть .NET), для стряпни всякого разного в MS SQL, в системах коммерческого планирования (ERP-системах вроде Axapta), ну и вообще совместно с любыми продуктами Microsoft.

В то же время Java используется для создания какого угодно софта, работающего на компьютерах с Windows, GNU/Linux, Mac OS, в коммуникаторах с Android, в многих миллионах простых мобильных телефонов. То есть, практически повсеместно.

Причём, виртуальная машина Java встречается на компьютерах с различными ОС гораздо чаще, нежели компоненты .NET. Поэтому нередко один и тот же файл с программой, написанной на Java, способен запускаться в разных операционных системах без необходимости устанавливать что-либо от Microsoft.

В Ubuntu, к примеру, «из коробки» имеется свободная реализация OpenJDK. Для браузера Firefox делают специальный плагин IcedTea, чтобы апплеты на сайтах работали. Так что для запуска чего-либо на Java вообще суетиться не нужно, всё уже готово.

Заключение

Конечно же, мы не станем навязывать выводы. Есть изрядное количество людей, предпочитающих иметь дело только с Windows и создавать софт именно для этой операционной системы.

Многие программисты не собираются разрабатывать приложения для Android, для мобильных телефонов, апплеты для работы с банковскими сайтами, кросс-платформенные программы. Для них C# вполне пригоден, тем более что освоить этот язык легче, нежели Java, судя по отзывам начинающих.

Следовательно, свой выбор вы сделаете сами, в зависимости от предпочтений. Благо теперь, смеем надеяться, имеете какое-то представление о «До Диез» и способны решить, нужно ли вам это изучать.

Автор: vanilinkin, специально для xBB.uz, 21.10.2012


Предыдущие публикации:

Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2012-10-21 10:55:53

Метки материала: c, язык, программирование, язык программирования, язык программирования c, программирования, программирование c, net framework, microsoft net framework, microsoft net, по, софт, программное обеспечение, soft, ит, software, софт для windows, разработка по


13 комментариев

Последние десять комментариев:

02.01.2013 22:42:45 #
Mozilla Firefox Гость
>Ребята вы овощи, кто-то программистом то работал? Даже без наполеоновских планов Ксамарина, что на шарпе можно будет писать сразу под все платформы.
 
Руководство LSE (London Stock Exchange) в свое время поверила в эти сказки, переведя торговые сервера на .net. Ругани и жалоб на быстродействие было столько, что через пару лет в срочном порядке вернулись под линукс и больше не дергаются.
Мы конечно же овощи, зато вы уж точно настоящий программист из анекдотов, с суждениями космического масштаба при крайне ограниченном кругозоре.
02.01.2013 05:41:32 #
Mozilla Firefox dima
Сам ты овощ. Я - программист с 8-летним стажем, и песни типа твоих уже лет 10 слышу. Стандартные мелкософтовские заклинания. Полудохлая Нокия погоду Майкрософту не сделает, и Винда никогда не догонит Андроид.
02.01.2013 02:17:37 #
Mozilla Firefox Гость Apple
Ребята вы овощи, кто-то программистом то работал? Даже без наполеоновских планов Ксамарина, что на шарпе можно будет писать сразу под все платформы. У майкрасофта вышла виндовс фон(Нокия на нее переходит, Люмия в пример), которая практически догнала ios, и возможно догонит андроид, поэтому шарп будет наверстывать и вполне возможно догонит джаву уже скоро. Виндовс фон еще молод, майкрософт ОПЯТЬ опоздала, но в течении 3-4 лет она все наверстает. А как мы знаем на ВФ при-я и игры пишутся на шарпе, и шарп будет очень востребован!
04.11.2012 01:10:13 #
Mozilla Firefox dima
Рынок Windows-приложений тоже не мал. А на нем C# более востребован, чем Java. Т.е. C# все-таки кому-то нужен.
03.11.2012 15:49:38 #
Mozilla Firefox Гость
>Так ведь и с Java те же проблемы
 
Разумеется. Но у нее большой рынок приложений для Андроида.
03.11.2012 07:09:18 #
Mozilla Firefox dima
Так ведь и с Java те же проблемы Well Сейчас проблемы с производительностью софта чаще решаются наращиванием производительности железа. В коммерческом плане второй путь считается более выгодным.
 
Есть у меня знакомый Java-программист. Он устроился в контору, которая разрабатывает очень дорогую, навороченную и тормозную систему учета комплектующих деталей для машиностроительных предприятий. Ей для нормальной работы нужно несколько серверов. Поработав лет пять и изучив эту систему вдоль и поперек, товарищ предложил начальству переписать несколько основных классов, чтобы улучшить производительность системы. Ему отказали, поскольку за легкое и быстрое ПО с клиентов трудно брать большие деньги. А за тяжелое и тормозное - без проблем.
02.11.2012 15:50:59 #
Mozilla Firefox Гость
>Всякий раз, когда встает вопрос, на чем писать приложение под Винду, упираешься в то, что разработчиков на C# найти не проблема, а разработчиков на C++ практически невозможно. В итоге склоняешься к C#.
 
Так если приложения, написанные на C#, не устраивают по производительности, то склониться то можно, но это гарантированный провал. А в "светлое будущее" .Net уже никто не верит.
На уловки маркетологов типа того что "виртуальная машина позволяет использовать ресурсы более эффективно" нынче уже мало кто ведется.
 
Другая проблема состоит в том что те, кто изачально учились программировать на C#, C++ или  C потом уже освоить в плане написания эффективных приложений не в состоянии.
Еще более прикольно бывает читать резюме придурков, которые всю жизнь программировали на C# и заменили C# на C++ поиском и заменой. Ну вот такое у них видение.
02.11.2012 08:19:26 #
Mozilla Firefox dima
Конечно, популярность C# ниже, чем хотелось бы Микрософту, но она высока. И дефицит C++ников только содействует популярности C#. Всякий раз, когда встает вопрос, на чем писать приложение под Винду, упираешься в то, что разработчиков на C# найти не проблема, а разработчиков на C++ практически невозможно. В итоге склоняешься к C#.
 
По поводу платформ. Виндовые десктопы и лэптопы все еще лидируют в своих нишах. Виндовые сервера тоже пока актуальны. А с выходом Windows 8 еще неизвестно, как повернется рынок наладонников.
01.11.2012 20:43:29 #
Mozilla Firefox Гость
>Сейчас C# занимает в нем 5-е место. Это - серьезный показатель. Вряд ли при таком показателе можно утверждать, что этот язык никому ненужен.
 
Именно что серьезный показатель, что несмотря на всю шумиху и всеобщую истерию что это и есть типа технология будущего, он занимает 5-ое место. А ведь шуму то было что C++ умер и никому не нужен, дескать все нынче будут писать на C#. Все университеты бросились массово готовить "специалистов по C#", навыпускали быдлокодеров с амбициями так, что хоть ж#пой ешь, а толковых C++ -ков повсюду ищут и найти не могут.
 
>Если такая динамика сохранится, то лет через пять их графики пересекутся.
 
Не думаю что сохранится. Вы же знаете что для планшетов и смартфотов используют либо джаву(андроид) либо Objective-C(iPhone).
Где может понадобится C# я плохо представляю
 
01.11.2012 20:08:42 #
Mozilla Firefox dima
Смотрим рейтинг популярности языков программирования: http://www.tiobe.com/index..../index.html
Сейчас C# занимает в нем 5-е место. Это - серьезный показатель. Вряд ли при таком показателе можно утверждать, что этот язык никому ненужен.
 
Еще более показательна динамика популярности языков с 2002 года. На графике отчетливо видно, что рейтинг Java постепенно снижается, а рейтинг C# растет. Если такая динамика сохранится, то лет через пять их графики пересекутся.

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.