.NET конкурентам! Скрыпников Сергей Спецвыпуск: Хакер, номер #053, стр. 053-076-1 (http://slammy.ru) и Павел Сурменок Технология .NET на пальцах Про технологию .NET написано довольно много книг. В первой части этой статьи мы расскажем о плюсах и минусах "точки нет", а в во второй – вместе напишем простенький сканер портов, который может работать сразу в несколько потоков. Part one. Теория Почему .NET? Технология .NET требует обязательного рассмотрения на страницах журнала, например, потому что компания Microsoft когда-то тратила около 70-80% (по различным источникам) своего бюджета на разработку этой технологии, после выхода технология получила обширный общественный резонанс в среде программистов, и положительных отзывов было неоспоримо больше, чем негативных. Третьей основной причиной можно назвать то, что dotNET широко используется для программирования web-сервисов/web-служб, а в наше время трудно найти человека, у которого бы не было потребности в работе с интернетом, да и за разработку сетевых программ платят больше (если, например, сравнивать одинаковый объем работы программиста сетевых служб и "обыкновенного" :). Стоит учитывать, что и до появления технологии .NET разрабатывались сетевые службы, но в одиночку этого, как правило, никто не делал (для каждого правила есть, конечно, исключения), а сейчас это сделать проще простого. LET’S GO Итак, перейдем непосредственно к самой .NET: чем она хороша и что в ней не устраивает нас. Будем придерживаться принципа "сложное – понятным языком", а в обильных технических терминах ты сможешь разобраться при дальнейшем изучении этой технологии. Начнем непосредственно с плюсов (здесь и далее будет в основном рассматриваться язык VB.NET, иногда в сравнении с VB 6.0). ПЛЮСЫ 1) "Мультиязычность" dotNET. Приложения можно писать на любом из нескольких десятков CLS-совместимых языков. Неполный список языков программирования ты можешь найти на одной из врезок. "Мультиязычность" .NET Microsoft VB .NET Microsoft VC++ .NET Microsoft C# Microsoft J# Microsoft Jscript APL ASNA Visual RPGRPG.NET Fujitsu COBOL Micro Focus Cobol NetExpress F# (a mixed functional/imperative anguage based on Caml from Microsoft Research) Eiffel Delta Forth Lahey/Fujitsu Fortran for .NET Salford Fortran Hugs98 Haskell Glasgow Haskell ActiveState Perl.NET ActiveState Python.NET Mark Hammond Python.NET Mercury.NET Mondrian Component Pascal TMT Pascal Tachy - subset of Scheme HotDog Scheme Smalltalk SmallScript SML.NET QKS Smalltalk [dead] A# Active Oberon for .net AsmL CAML Delta Forth Dyalog APL Fortran for .NET FTN95 for .NET Haskell ML NetCOBOL for .NET Perl Python SmallScript (S#) 2) Упрощение разработки. Среда разработки Visual Studio .NET предоставляет очень удобные и мощные средства разработки приложений. Очень мощный IntelliSense (что-то наподобие помощника в написании кода). Например, программист написал: "Dim stream As New FileStream", а он ему покажет в всплывающей подсказке (hint – это по-нашему :)) перегруженные варианты синтаксиса. Еще пример: написал – stream, а IntelliSense тебе вывесит в список "Все свойства/методы объекта". В общем, очень удобная штука, реально помогающая при написании программ (хотя некоторые ругаются матом :) и отключают эту фишку). Также присутствуют различного рода "мастера", которые точно так же облегчают эту нелегкую жизнь и тебе, и мне, особенно в работе с данными: фактически простенькую форму данных или решетку (grid) с привязкой к БД можно настроить только с помощью мастеров, причем не написав ни строчки кода. А если еще и пару строчек кода добавить, то получится совсем шедевр - будешь ходить и за деньги всем предлагать :). |