Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #53, АПРЕЛЬ 2005 г.

.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) с привязкой к БД можно настроить только с помощью мастеров, причем не написав ни строчки кода. А если еще и пару строчек кода добавить, то получится совсем шедевр - будешь ходить и за деньги всем предлагать :).

Содержание  Вперед на стр. 053-076-2