ПРОГРАММИРОВАНИЕ
Ada
Это язык программирования, разработанный Министерством обороны США
в середине 70-х годов. Целью Ada было создание стандартизованного языка,
который бы был ясен, заслуживал доверия и мог эффективно использоваться
программистами для разработки надежных программ, которые можно было легко
читать и поддерживать. В то время я был аспирантом, занимавшимся вычислительной
техникой, и помню, что в среде компьютерщиков вращались четыре различных
предложения. В конечном счете одно из этих предложений было принято и стало
языком Ada. За последние два десятилетия он развивался и превратился в
современный язык программирования, который до сих пор широко используется.
Web:
http://www.adahome.com
Usenet:
comp.lang.ada
C++
Язык C – это старый язык программирования, уходящий ко временам раннего
развития Unix. Язык C++, объектно-ориентированный язык, создан на основе
C, но обладает значительными отличиями. И C, и C++ трудны в изучении, и
умение писать на них хорошие программы требует большого таланта и опыта.
Однако это мощные инструменты, широко используемые во всем мире.
Web:
http://www.cera2.com/clang.htm
http://www.cerfnet.com/~mpcline/C++-FAQs-Lite/
http://www.cl.ais.net/morph/c++/
http://www.cs.umd.edu/users/cml/cstyle/
http://www.faqs.org/faqs/C-faq/toc/
http://www.inquiry.com/techtips/cpp_pro
Usenet:
comp.lang.c
comp.lang.c++
comp.lang.c++.leda
comp.lang.c.moderated
comp.lang.c++.moderated
comp.std.c
comp.std.c++
IRC:
#c++
Peri
Значение Peri трудно переоценить. Это язык для написания сценариев
(scripts), выбираемый во многих случаях и широко используемый в Интернете.
Peri был создан в 1986 году Лэрри Уоллом, известным Unix- и Интернет-программистом.
Название Peri представляет собой аббревиатуру словосочетания Practical
Extraction and Report Language (язык практических извлечений и отчетов).
Впрочем, как и у большинства подобных акронимов, значение было придумано
уже после того, как появилось название. Здесь вы найдете столько ресурсов
по Peri, что их хватит, чтобы удовлетворить вас хоть до морковкина заговенья.
Web:
http://language.perl.com/
http://reference.perl.com/
http://www.faqs.org/faqs/perl-faq/
http://www.perl.org/
Usenet:
alt.peri
comp.lang.perl
comp.lang.perl.announce
comp.lang.perl.misc
comp.lang.perl.moderated
comp.lang.perl.modules
comp.lang.perl.tk
IRC:
«peri
Visual Basic
Этот продукт Microsoft является самым современным перевоплощением языка
программирования Basic. Однако Visual Basic — это мощный инструмент, очень
мало напоминающий своего «предка». Многие люди выбирают это средство программирования,
полностью обеспечивающее условия для быстрой разработки программ, особенно
для клиент-серверных систем (включая программы для Интернета) и прикладных
программ для баз данных.
Web:
http://msdn.microsoft.com/vbasic/
http://www.cgvb.com/
http://www.faqs.org/faqs/visual-basic-faq/
http://www.inquiry.com/thevbpro/
Usenet:
comp.lang.basic.visual
comp.lang.basic.visual.3rdparty
comp.lang.basic.visual.announce
comp.lang.basic.visual.database
comp.lang.basic.visual.misc
comp.lang.visual
IRC:
#visualbasic
X Window
Информация об X Consortium (фирме-разработчике X Window) и ссылки на
многие сайты, посвященные этой системе. Здесь вы можете узнать, что необходимо
для работы с X Window сегодня, и в чем необходимо разбираться, чтобы работать
с новейшей версией, известной под названием Broadway (X11R6.3): системой
для создания интерактивных приложений и доступа к ним через Web.
Web:
http://www.opengroup.org/tech/desktop/x/
http://www.rahul.net/kenton/xsites.html
Бесплатные компиляторы и интерпретаторы
Вместо того, чтобы платить немалые деньги за языковой транслятор, вы
можете заглянуть на этот сайт, где есть множество совершенно бесплатных
компиляторов и интерпретаторов. Если у вас когда-нибудь окажется немного
свободного времени, которое нечем будет занять, то почему бы не скачать
к себе на компьютер какой-нибудь компилятор и не заняться изучением нового
языка? (Я, например, пробовал изучать таким образом французский, но почему-то
все время получал сообщения о синтаксических ошибках.)
Web:
http://www.idiom.com/free-compilers
Usenet:
comp.compilers
comp.compilers.tools.pccts
Бесплатные программные средства
Сказать, что это богатый ресурс — значит ничего не сказать. Здесь хранится
поистине огромное количество серьезных инструментов для серьезных программистов,
занятых серьезной работой (поверьте, я говорю вполне серьезно). Если вам
хоть немного хочется стать крутым программистом, адрес этого сайта просто
необходимо иметь в своем списке закладок.
Web:
http://hjh.simplenet.com/programming/
http://www.program.com/toolbin/
Запутанная программа на C
Работы участников и победителей конкурса The International Obfuscated
C Code Contest, в котором программисты соревнуются в написании непонятных
и при этом изящных программ на языке C. Такая программа, во-первых, не
должна превышать в длину определенного числа байт, указанного в условиях
конкурса, и, во-вторых, должна работать.
Web:
http://reality.sgi.com/csp/ioccc
Компьютерное общество ИИЭР
Компьютерное общество института инженеров по электротехнике и радиоэлектронике
(ИИЭР) известно во всем мире как надежный источник информации обо всех
аспектах вычислительной техники, электроники и электронного приборостроения.
Оно занимается публикацией периодических изданий и информационных бюллетеней,
спонсированием конференций, семинаров и симпозиумов, а также разработкой
стандартов. Теперь журнал Computer Society Online предлагает электронную
версию этой информации, причем во многих случаях раньше, чем эта информация
публикуется на бумаге.
Web:
http://www.computer.org/
Объектно-ориентированное программирование
Собственно говоря, эта технология программирования ничем не отличается
от обыкновенной, за исключением того, что нужно по-иному смотреть на мир,
по-иному писать свои программы, по-иному их сопровождать и вообще мыслить
другими частями височных долей головного мозга. Присоединяйтесь к обсуждению
объектно-ориентированных методов, программных средств и существующих проблем.
В телеконференции .misc обсуждаются общие вопросы объектно-ориентированного
программирования для Macintosh, конференция .macapp3 посвящена версии 3
системы MacApp, а .tcl — Think Class Libraries.
Usenet:
comp.sys.mac.oop.macapp3
comp.sys.mac.oop.misc
comp.sys.mac.oop.tcl
Операционные системы: исследование
Участвуя в этой телеконференции, вы будете в курсе новейших исследований
и разработок в сфере технологии операционных систем. Это подходящее место
для тех, кто занимается их изучением и исследованием. Если же вы новичок
в этой области, то вам стоит посетить Web-сайт и прочитать список ЧаВО
(часто задаваемых вопросов).
Web:
http://www.best.com/~bos/os-faq
Usenet:
comp.os.research
Операционные системы: обсуждение общих вопросов
Операционная система — это программа, которая осуществляет основное
управление компьютером. Например, Windows 95, Windows NT, DOS, MacOS, Unix
— все это операционные системы. Для тех, кого интересуют вопросы их разработки
и применения, имеется телеконференция, в которой можно поговорить со специалистами
в этой области. В данной конференции обсуждаются общие вопросы, связанные
с операционными системами. Для обсуждения конкретных систем существуют
специальные конференции Usenet.
Usenet:
comp.os.misc
Программа Hello, World
Считается, что изучение нового языка программирования всегда начинается
с написания программы, которая выводит на экран слова: «Hello, world».
Должен сказать, что я занимался программированием много лет, работал на
разных языках, но за всю свою жизнь не написал ни одной программы, говорящей
«Hello, world». Правда, я также не видел фильма «Рокки», не смотрел ни
одной серии «Беверли Хиллз 90210» и не люблю попкорн. Но если вы в ладах
с массовой культурой и любите изучать новые языки программирования, то
этот сайт доставит вам массу удовольствия.
Web:
http://www.cuillin.demon.co.uk/nazz/trivia/hw/hello_world.html
Программирование для DOS: обсуждение общих вопросов
Вполне возможно, что DOS в ближайшем будущем окончательно отправят
на заслуженный отдых, но в Usenet эту операционную систему пока не забыли.
В указанных здесь телеконференциях поклонники DOS найдут полезную информацию
и ценные советы. Ну, а противникам DOS здесь делать нечего.
Usenet:
alt.msdos.programmer
comp.msdos.programmer
comp.os.msdos.programmer
comp.os.msdos.programmer.turbovision
Программирование для Macintosh
Macintosh-программисту всегда найдется с кем поговорить в конференциях
Usenet. Вот некоторые из телеконференций, посвященных программированию
для Macintosh.
Usenet:
comp.sys.apple2.programmer
comp.sys.mac.programmer
comp.sys.mac.programmer.codewarrior
comp.sys.mac.programmer.games
comp.sys.mac.programmer.help
comp.sys.mac.programmer.info
comp.sys.mac.programmer.misc
comp.sys.mac.programmer.tools
Программирование для OS/2: обсуждение общих вопросов
Вот несколько славных мест, где можно задавать вопросы, получать ответы
или всю ночь напролет говорить о чем угодно, относящемся к программированию
под OS/2. Плюс к этому — несколько конференций, посвященных программным
средствам, переносимости ПО и объектно-ориентированному программированию.
Usenet:
comp.os.os2.programmer.misc
comp.os.os2.programmer.oop
comp.os.os2.programmer.porting
comp.os.os2.programmer.tools
Программирование для Windows: обсуждение общих вопросов
Эти телеконференции Usenet предназначены для вопросов и ответов, касающихся
программирования в среде Microsoft Windows в общем, а также более частных
тем: об управляющих элементах, диалогах, графике и печати, управлении памятью,
программировании для мультимедиа и сетей.
Usenet:
comp.os.ms-windows.programmer
comp.os.ms-windows.programmer.controls
comp.os.ms-windows.programmer.drivers
comp.os.ms-windows.programmer.graphics
comp.os.ms-windows.programmer.misc
comp.os.ms-windows.programmer.multimedia
comp.os.ms-windows.programmer.networks
comp.os.ms-windows.programmer.nt.kernel-mode
comp.os.ms-windows.programmer.ole
comp.os.ms-windows.programmer.tools
comp.os.ms-windows.programmer.vxd
comp.os.ms-windows.programmer.win32
comp.os.ms-windows.programmer.winhelp
Программирование интерактивных сюжетных игр
Интерактивная сюжетная игра представляет собой историю, развитием которой
управляет читатель, делающий тот или иной выбор. Этот Web-сайт содержит
разнообразные интересные материалы по таким играм. Для обсуждения любых
вопросов, связанных с интерактивными сюжетными играми, можно принять участие
в телеконференциях Usenet.
Web:
http://www.khoros.unm.edu/staff/neilb/intfiction
Usenet:
rec.arts.int-fiction
rec.games.int-fiction
Программирование: обсуждение общих вопросов
while(не спится) if(вопрос=="без ответа") post (Usenet (запрос)) else
read(Usenet (чужие статьи));
Usenet:
comp.programming
comp.programming.contests
Программист месяца
Будучи аспирантом, я участвовал в соревнованиях по программированию
в составе команды Калифорнийского университета (вместе с Бартом, Доном
и Маделин). В те времена подобные состязания были редкостью, а их участники
писали программы на Фортране, пользуясь перфокартами. Сегодня компьютерные
системы более совершенны, но программирование пока еще не стало олимпийским
видом спорта. Тем не менее, каждый из вас может принять участие в соревнованиях
на право называться Программистом Месяца. Этот конкурс был впервые проведен
в 1993 году в AT&T, и сегодня к участию в нем приглашаются все желающие
со всего мира. Познакомьтесь с ходом текущего конкурса и именами победителей
предыдущих соревнований, и полюбуйтесь прекрасным призом, который вручают
лучшим программистам.
Web:
http://www.cs.washington.edu/homes/corin/POTM.PAGES
Разработка программного обеспечения
Как вы, вероятно, догадываетесь, тема программирования достаточно широко
освещена в Сети, и существует множество ресурсов, связанных с разработкой
ПО. На данном сайте представлена разнообразная информация, в том числе
о краткосрочных курсах, библиотеках и Web-страницах, посвященных этому
вопросу. Для участия в ведущемся обсуждении подключайтесь к конференции
Usenet.
Web:
http://rbse.jsc.nasa.gov/virt-lib/soft-eng.html
Usenet:
comp.software.testing
Хакеры
Вчитайтесь в умные хакерские дискуссии в Usenet и на каналах IRC и
узнайте, как приводить в порядок не только аппаратное и программное обеспечение
компьютеров, но и бытовые вещи, включая отваливающийся кафель в душевой,
вибрирующие вентиляционные отверстия кондиционера и пылесосы, извергающие
из себя пыль. На Web-сайтах полно замечательной информации для хакеров.
Web:
http://www.antionline.com/
http://www.cs.utah.edu/~scook/tech/hacker.htm
http://www.defcon.org/
http://www.phrack.com/
Usenet:
alt.2600.aol
alt.2600.fake-id
alt.2600.hackers
alt.2600.qna
alt.2600hz
alt.hacker
alt.hackers
alt.hackers.groups
alt.hackers.malicious
alt.hacking
alt.hackintosh
IRC:
«hack
Юмор для программистов
Некоторые анекдоты, называемые каноническими, повторяются с небольшими
вариациями вновь и вновь. Перед вами списки анекдотов о программистах.
Если вы из их числа, вот вам мой рецепт: всякий раз, как найдете ошибку
в программе, сделайте паузу и прочитайте пару анекдотов.
Web:
http://www.elsop.com/wrc/humor/progwack.htm
http://www.srdc.metu.edu.tr/~dengi/humor/computer/Canonical_List_of_Programmmg_Humor.txt
Языки программирования
Здесь вам укажут путь к любым Web-сайтам, связанным с языками программирования.
Это обширный список таких ресурсов, структурированный по типам языков.
Будь вы даже суперпрограммистом, здесь все равно найдется что-нибудь, о
чем вы никогда раньше не слышали.
Web:
http://src.doc.ic.ac.uk/bySubject/Computing/Languages.html
Usenet:
comp.lang.apl
comp.lang.asm.x86
comp.lang.asm370
comp.lang.awk
comp.lang.beta
comp.lang.clarion
comp.lang.clipper
comp.lang.clos
comp.lang.cobol
comp.lang.dylan
comp.lang.eiffel
comp.lang.forth
comp.lang.forth.mac
comp.lang.fortran
comp.lang.functional
comp.lang.hermes
comp.lang.icon
comp.lang.idl
comp.lang.idl-pvwave
comp.lang.lisp
comp.lang.lisp.franz
comp.lang.lisp.mcl
comp.lang.lisp.x
comp.lang.logo
comp.lang.misc
comp.lang.ml
comp.lang.modula2
comp.lang.modula3
comp.lang.mumps
comp.lang.oberon
comp.lang.objective-c
comp.lang.pascal
comp.lang.pascal.ansi-iso
comp.lang.pascal.borland
comp.lang.pascal.delphi.advocacy
comp.lang.pascal.delphi.components.misc
comp.lang.pascal.delphi.components.usage
comp.lang.pascal.delphi.components.writing
comp.lang.pascal.delphi.databases
comp.lang.pascal.delphi.misc
comp.lang.pascal.mac
comp.lang.pascal.misc
comp.lang.perl
comp.lang.perl.announce
comp.lang.perl.misc
comp.lang.perl.modules
comp.lang.perl.tk
comp.lang.pl1
comp.lang.pop
comp.lang.prograph
comp.lang.prolog
comp.lang.python
comp.lang.rexx
comp.lang.sather
comp.lang.scheme
comp.lang.scheme.scsh
comp.lang.sigplan
comp.lang.smalltalk
comp.lang.tcl
comp.lang.tcl.announce
comp.lang.verilog
comp.lang.vhdl