[Comm] C programming
Mikhail Zabaluev
=?iso-8859-1?q?mhz_=CE=C1_altlinux=2Eorg?=
Пт Окт 11 12:34:11 MSD 2002
Hello Vitaly,
On Thu, Oct 10, 2002 at 03:53:43PM +0400, Vitaly Lugovsky wrote:
>
> On Thu, 10 Oct 2002, aen wrote:
>
> > > Естественно, его надо знать. Как и минимум пару десятков других языков.
> > >Но не стоит делать его первым языком. И не стоит на нём свои первые задачи
> > >решать - лучше уж озаботиться изучением Питона или Схемы,
> > >
> > Согласен.
> >
> > > и только потом,
> > >когда придёт время и в чужом коде ковыряться,
> > >
> > Чем раньше оно придет -- тем лучше.
>
> Не думаю. Он (чужой код) неокрепшие умы может научить всяким гадостям.
> Новичков надо кормить отборной кашкой с ложечки - то есть, чистым и
> красивым кодом из учебников, а не чем-то писанным в состоянии алкогольной
> интоксикации каким-то подзаборным кульхацкером...
Угу. А язык здесь большой роли не играет.
Можно писать perl-образно на любом языке (c) не помню кто (шутка)
> Мне почти десять лет
> потребовалось, дабы изжить фортрановские привычки - в том числе и на чужом
> (даже классическом) коде полученные. Врагу такого не пожелал бы. И ведь
> начинал Фортран пользовать почти одновременно с Лиспом. Могло быть гораздо
> хуже.
Программист, к которому "прилипают" особенности языка, ещё не
просветлён в достаточной мере.
> > > добраться до Си, имея уже
> > >богатый опыт и сложившееся мировоззрение.
> > >
> > Без знания C не будет ни богатого опыта, ни сложившегося мировоззрения.
>
> Почему же? В Си нет ничего фундаментального, но при этом - очень много
> лишнего, такого, что за деревьями леса не увидишь.
В Си есть три фундаментальные конструкции алгоритмов по Дейкстре
(мир его праху) и фундаментальный базис структурного программирования.
Есть хорошая, удобная, но не абсолютно навязанная система
статических типов.
Лишнего я ничего в этом языке (да и его препроцессоре) не заметил.
Наоборот, он настолько прост, чтобы его реализация была
понятной одному человеку, а ABI -- стопроцентно прозрачным.
В то же время на Си можно сделать _всё_. А если что-то
надстраивать не на уровне компилятора, а пользуясь им
(например, виртуальную машину или IDL-компилятор),
получается ещё и удобно. Worse is better, KISS,
в-общем, вы поняли.
> Из языков этого класса
> начинать следует всё же с Ады или хотя бы Модулы,
Учите латынь, гимназисты. Мёртвые и схоластические языки
очень помогут вам в жизни.
> и только потом
> испытывать себя на прочность об C++ и голый C.
--
Stay tuned,
MhZ JID: mookid на jabber.org
___________
You enjoy the company of other people.
Подробная информация о списке рассылки community