1.1, c0rax (ok), 09:14, 26/06/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Вопрос не по теме:
Что посоветуете хорошее почитать по Си, на русском?
| |
|
2.5, meequz (ok), 09:56, 26/06/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
Если для совсем новичков, то "Андрей Богатырев. Руководство полного идиота по программированию (на языке Си)". Объясняет самые основы, зато реально простым языком.
| |
|
3.8, Ваня (??), 11:38, 26/06/2012 [^] [^^] [^^^] [ответить]
| –9 +/– |
Спасибо, но я скорее приобрету "Руководство умного человека по программированию (на языке Си)", т.к. не ожидаю услышать от "полных идиотов" умных мыслей.
| |
|
4.17, Аноним (-), 12:32, 26/06/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
Не нужно так тянуть с изучением Си. Долгие поиски даже самой лучшей книги только навредят вам, потеряете время. Вы могли бы уже давно знать его
| |
4.21, Аноним (-), 12:50, 26/06/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Спасибо, но я скорее приобрету "Руководство умного человека по программированию (на языке
> Си)", т.к. не ожидаю услышать от "полных идиотов" умных мыслей.
Приобретайте и читайте. Может, хоть тогда до вас дойдёт, что однобитный float — это бред.
| |
|
5.29, arisu (ok), 18:14, 26/06/2012 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Приобретайте и читайте. Может, хоть тогда до вас дойдёт, что однобитный float
> — это бред.
не дойдёт: для этого недостаточно умной книги, нужен ещё и умный читатель.
| |
5.36, Аноним (-), 20:47, 26/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Приобретайте и читайте. Может, хоть тогда до вас дойдёт, что однобитный float
А еще у него там девятибитные структуры. При том он напрочь не понимает как это работает :)
| |
|
|
|
2.7, Аноним (-), 10:17, 26/06/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
С. Прата. Язык программирования си. Лекции и упражнения. 5-е издание.
| |
|
3.49, mauser (??), 00:31, 27/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
Учил по этой книге. Правда по оригиналу. Очень подробно все описано.
| |
3.54, Анонимас (?), 14:26, 27/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
> С. Прата. Язык программирования си. Лекции и упражнения. 5-е издание.
А её где-то достать можно? В интернетах только по С++. В городских магазинах вообще не слышали о таком.
| |
|
4.59, Аноним (-), 11:08, 28/06/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> С. Прата. Язык программирования си. Лекции и упражнения. 5-е издание.
> А её где-то достать можно? В интернетах только по С++. В городских
> магазинах вообще не слышали о таком.
Я покупал месяца 2 назад в читай-городе. Хочу отсканировать и выложить в инет, т.к. сам очень долго искал. Писал им в издательство - их не волнует. Как возьму сканер - займусь.
| |
|
|
2.31, Аноним (-), 18:19, 26/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
K&R в переводе Штаркмана (изд. Невский Диалект). Перевод Бродового (изд. Вильямс) не рекомендую - переведено Промтом, причёсано надмозгом, как и большинство книжек этого издательства.
| |
|
3.46, arisu (ok), 22:30, 26/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
книгу не читал, но если человек укушен гвидобейсиком — лучше никаких его книг не читать.
| |
|
4.68, Аноним (-), 21:56, 29/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
> книгу не читал, но если человек укушен гвидобейсиком — лучше никаких его
> книг не читать.
Почему?)
| |
|
5.69, arisu (ok), 22:05, 29/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
потому что человек укушен гвидобейсиком. этого достаточно, чтобы держаться подальше.
| |
|
|
7.71, arisu (ok), 22:47, 29/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
я, видать, спать тебе не даю. всё беспокою. get a life, что ли.
| |
|
|
|
|
|
2.57, Аноним (-), 23:51, 27/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
Мне понравилась книжка Подбельского и Фомина "Программирование на языке Си". Все четко изложено, чувствуется математическое образование авторов. Читать ее в 15 лет было сущее удовольствие
| |
|
1.2, noize (ok), 09:17, 26/06/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +7 +/– |
кёрниган и ритчи - язык программирования Си, второе издание(в третьем есть проблемы с переводом)
| |
|
|
3.10, dq0s4y71 (??), 12:06, 26/06/2012 [^] [^^] [^^^] [ответить]
| +3 +/– |
Си не идеален, но он - хороший инструмент для своей области. А в том, что он не повторяет участь монстра С++, не вижу ничего плохого. Для некоторых языков "развитие", по-моему, стало уже самоцелью.
| |
|
2.6, bircoph (ok), 10:15, 26/06/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Уж простите, что не напихали 100500 никому особо не нужных, зато новых фич, ломающих всё на свете.
Это стабильный, надёжный, промышленный язык. Ему много изменений и не нужно. Он не идеален, но уже близок к идеалу.
| |
2.37, Аноним (-), 20:48, 26/06/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Как-то негусто для 13и лет эволюции...
Как-то с 70-х прошлого века пыжились, пыжились, но так и не родили язык для системного программирования который был бы лучше.
| |
|
3.58, chinarulezzz (ok), 00:04, 28/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Как-то с 70-х прошлого века пыжились, пыжились, но так и не родили
> язык для системного программирования который был бы лучше.
modula-2, oberon... Сишники от них хватают бугурт, но языки совершеннее.
| |
|
4.60, arisu (ok), 12:02, 28/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
> modula-2, oberon… Сишники от них хватают бугурт, но языки совершеннее.
унылее. потому что ограничений больше.
на всякий случай: я не сказал «хуже».
| |
|
5.62, chinarulezzz (ok), 12:07, 28/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
> унылее. потому что ограничений больше.
глядя на количество ошибок в генном коде Си-программистов - строгость языка оправдана.
> на всякий случай: я не сказал «хуже».
Естественно. Хуже - Си.
| |
|
6.63, arisu (ok), 12:11, 28/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Естественно. Хуже — Си.
угу. красное хуже зелёного.
так, на всякий случай: я лично очень люблю Component Pascal. думаю, ты знаешь, что это.
| |
|
7.64, chinarulezzz (ok), 12:20, 28/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
> угу. красное хуже зелёного.
если надо проезжать мимо светофора - то да.
> так, на всякий случай: я лично очень люблю Component Pascal. думаю, ты
> знаешь, что это.
Знаю, но не использовал ни разу. Ты как используешь и где? :)
| |
|
8.65, arisu (ok), 12:30, 28/06/2012 [^] [^^] [^^^] [ответить] | +/– | к сожалению, никак не использую, потому что BCB под пингвинусы так и не портиров... текст свёрнут, показать | |
|
|
10.67, arisu (ok), 12:53, 28/06/2012 [^] [^^] [^^^] [ответить] | +/– | не простительно поддержка юникода была заявлена изначально, даже в report е CHA... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
1.9, RM (?), 11:51, 26/06/2012 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Советую почитать "Аргументы против Си" Питера Мойлана (1993)
| |
|
2.14, dq0s4y71 (??), 12:19, 26/06/2012 [^] [^^] [^^^] [ответить]
| +4 +/– |
Там главный аргумент против Си - плохие программисты на Си. Хотя, кое с чем можно и согласиться.
| |
2.38, Аноним (-), 20:49, 26/06/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Советую почитать "Аргументы против Си" Питера Мойлана (1993)
В си можно долго кидаться какашками, но на его замену в системном программировании все-равно ничего лучше нет.
| |
|
3.42, arisu (ok), 20:53, 26/06/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
> В си можно долго кидаться какашками, но на его замену в системном
> программировании все-равно ничего лучше нет.
это смотря по каким критериям. вообще-то этот уродец рулит по трём основным причинам:
а) за столько лет компиляторы более-менее научились его оптимизировать — относительно неплохо;
б) много, ОЧЕНЬ МНОГО всякого написано на си (и это одна из главных причин);
в) компилятор си — опять же потому, что столько лет уже — есть практически под всё.
но это никак не значит, что си — лучший. не самый плохой — это да.
| |
|
4.47, Аноним (-), 23:12, 26/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
> а) за столько лет компиляторы более-менее научились его оптимизировать — относительно неплохо;
> б) много, ОЧЕНЬ МНОГО всякого написано на си (и это одна из главных причин);
Фортран же
| |
|
5.48, arisu (ok), 23:45, 26/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Фортран же
он тоже до сих пор жив примерно по тем же причинам.
| |
|
4.52, dq0s4y71 (??), 12:44, 27/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
> а) за столько лет компиляторы более-менее научились его оптимизировать — относительно неплохо;
Компиляторы научились оптимизировать не "его", а промежуточное представление, которое генерится Си франт-эндом. Оптимизатору, как правило, вообще пофигу, на каком языке был написан исходный код. Так что, "относительно неплохо" оптимизируется всё, что может давать выхлоп на вход данного конкретного оптимизатора.
> б) много, ОЧЕНЬ МНОГО всякого написано на си (и это одна из главных причин);
Ну, это вообще не аргумент. ОЧЕНЬ МНОГО всякого написано на Перле, но почему-то это не стало помехой для создания новых скриптовых языков и новых программ на этих языках, которые успешно конкурируют с перловскими, в том числе в тех областях, для которых Перл изначально создавался.
> в) компилятор си — опять же потому, что столько лет уже — есть практически под всё.
Ну, любую систему нужно чем-то собирать, а операционки промышленного уровня на Питоне не пишут :) Так что, получается, если есть операционка, то под неё, скорее всего, уже есть сишный компилятор.
| |
|
5.55, arisu (ok), 15:55, 27/06/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Компиляторы научились оптимизировать не «его», а промежуточное представление, которое
> генерится Си франт-эндом. Оптимизатору, как правило, вообще пофигу, на каком языке
> был написан исходный код. Так что, «относительно неплохо» оптимизируется всё, что
> может давать выхлоп на вход данного конкретного оптимизатора.
никогда не видел, чтобы программы писали на внутреннем коде компилятора. какая разница, как именно написан оптимизатор, может ли фронтэнд понимать другие языки и какого роста марсиане? всё это не имеет отношения к делу.
> Ну, это вообще не аргумент.
обалдеть.
> ОЧЕНЬ МНОГО всякого написано на Перле, но
при чём тут перл?
о. я понял твой способ аргументации, сейчас я его на тебе применю. итак.
у меня есть сосед Василий, он редкостный дурак. а ещё у него две ноги. поскольку с вероятностью, близкой к единице, я уверен, что у тебя тоже две ноги, то ты — дурак.
| |
|
|
|
4.53, dq0s4y71 (??), 13:11, 27/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
> работы по созданию рабочей станции на базе процессора Кронос с Модула-ориентированной системой команд
Ха! Если процессор специально под Модулу разрабатывался, то неудивительно, что она лучше всего подходила для его программирования! Они, небось, ещё и свой собственный компилятор для этого делали.
Но самое интересное, что когда процессор поменялся и система команд стала другой, то им ничего не оставалось делать, кроме как конвертировать старые Модула-программы в Си!
> Изюминкой этого проекта стало создание кросс-системы, сохранившей все пользовательские интерфейсы первой КСП, в том числе в части системы тестирования и отладки, но получавшей исполнимый код, через конвертацию Модула-программ в Си с последующим получением исполнимого кода с помощью КСП на языке ANSI Cи, поставленной разработчиком БЦВМ.
> В проекте использовалась БЦВМ производства немецкой фирмы Астриум с системой команд MIL-1750A-STD и операционная система разработчика БЦВМ – MOSES-2.
Насколько был надёжен такой вот конвертированный из Модулы сишный код - вопрос открытый.
| |
|
|
|
1.16, Аноним (-), 12:22, 26/06/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> The new keyword _Generic declares a generic expression that translates into type-dependent "specializations."
Блин ну нафига это? Как потом код читать? Видишь cbrt(v), а это на самом деле cbrtf...
| |
|
2.26, Андрей (??), 14:45, 26/06/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
А если хочешь потестить код с разными точностями, то так
#define FP float
//#define FP double
//#define FP quad
...
FP calc(FP arg1, FP arg2)
делать плохо?
В С++ обощения доведены до ужаса. Но в С, кажись, ещё всё в порядке.
| |
|
3.30, arisu (ok), 18:17, 26/06/2012 [^] [^^] [^^^] [ответить]
| +3 +/– |
> В С++ обощения доведены до ужаса. Но в С, кажись, ещё всё
> в порядке.
за ключевые слова типа "_Abc" надо было расстреливать весь комитет.
да, кстати: не #define FP, а
#ifdef I_HAVE_NO_DIGITS
typedef float MyFloat;
#elsif I_HAVE_A_LITTLE_DIGIT
typedef double MyFloat;
#elsif I_HAVE_ALOT_OF_DIGITS
typedef quad MyFloat;
#else
# error i'm dumb!
#endif
MyFloat calc (...)
так страшнее.
| |
|
4.39, Аноним (-), 20:51, 26/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
> так страшнее.
А чего тут страшного? Вроде логичная и прямолинейная конструкция :)
| |
|
5.43, arisu (ok), 20:54, 26/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> так страшнее.
> А чего тут страшного? Вроде логичная и прямолинейная конструкция :)
букав больше.
| |
|
|
|
|
1.18, Аноним (-), 12:36, 26/06/2012 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Кто-нибудь пробовал Ceylon? Это близкий к С язык с некоторыми улучшениями, позволяющими избегать большинство ошибок, вроде кривых указателей и переполнений массивов. Есть (отключаемые) рантайм-проверки
| |
|
2.20, Анон (?), 12:41, 26/06/2012 [^] [^^] [^^^] [ответить]
| +3 +/– |
Java Virtual Machine? Не нужно. Нет, кому-то, может, и нужно, но как замена C совершенно непригодно.
| |
|
3.23, Аноним (-), 14:12, 26/06/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Виноват, я имел в виду Cyclone :( . На вики есть статья про него, интересная штука. Имхо, обсуждение истории развития С без знакомства с Cyclone будет неполным
| |
|
2.32, arisu (ok), 18:19, 26/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
я немножко о нём читал. прикола не понял. си — это такой навороченый макроассемблер. если надо писать что-то, где подобный макроассемблер неудобен — есть другие языки. на крайний случай можно написать на си VM и остальное — на ней. к библиотекам это тоже относится, от них не требуется быть написаными на си, достаточно интерфейсов для си.
| |
|
3.35, Аноним (-), 20:41, 26/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
> си — это такой навороченый макроассемблер. если надо писать что-то, где подобный макроассемблер неудобен — есть другие языки
Вы еще попробуйте объяснить это другим. Они все равно будут писать на Си, а раз так, то пусть пишут хотя бы на безопасном диалекте. А некоторые штуки, вроде ядра, сложно писать на чем-то другом - вот тут бы Cyclone подошел, думаю
| |
3.40, Аноним (-), 20:53, 26/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
> от них не требуется быть написаными на си, достаточно интерфейсов для си.
Только вот если они не написаны на си - работа с ними превращается в порно. Из-за нестыковок типов данных там и тут и прочая. Да и на чем еще писать всякие полезные и быстрые алгоритмы?
| |
|
4.44, arisu (ok), 20:56, 26/06/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Только вот если они не написаны на си — работа с ними
> превращается в порно. Из-за нестыковок типов данных там и тут и
> прочая.
мнэ… зачем ты пропустил слово «интерфейсы»? одна из задач грамотного интерфейса — заниматься рутиной типа конвертирования типов и ты пы.
> Да и на чем еще писать всякие полезные и быстрые алгоритмы?
на чём угодно.
| |
|
|
|
1.24, Kodirr (?), 14:29, 26/06/2012 [ответить] [﹢﹢﹢] [ · · · ]
| –6 +/– |
Си - это высокоуровневый ассемблер, кому он интересен в мэйнстриме?
Пора бы уже D изучать и применять, а они всё труп тыкают...
| |
|
2.25, Аноним (-), 14:43, 26/06/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Си - это высокоуровневый ассемблер, кому он интересен в мэйнстриме?
Тем, кому нужен именно высокоуровневый ассемблер. Машинный код как таковой некросплатформеннен, языки же более высокого уровня, чем Си, гораздо хуже приспособлены для системного программирования.
> Пора бы уже D изучать и применять, а они всё труп тыкают...
Разработчики операционных систем уже спешат выбрасывать гигабайты готового кода на Си и переписывать всё на D.
| |
2.41, Аноним (-), 20:53, 26/06/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Си - это высокоуровневый ассемблер, кому он интересен в мэйнстриме?
Правильно - сотри свою операционку. Мы как раз отдохнем от одного быдлокодирра. А вот как перепишете на D, так и приходите.
| |
|
|