[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