LINUX.ORG.RU

подскажите эталонный проект на С (src)


0

0

озаботился тут доведением С-шных скиллов до адекватного уровня

господа и дамы знатоки посоветуйте плиз адекватный проект на С для последующего разбирания на предмет хороших практик программирования

PS linux kernel не предлагать - too big, too specific :)

PPS смотрел сорцы Python'a - не сильно впечатлился

*spoiler* для троллей: С - нужен

★★★★★

не буду советовать эталонный, но например по поводу ооп, высокоуровневости и glib интересно помотреть syslog-ng

gavv
()

А что? Хочется изучить больше хаков с указателями и синтаксисом C? Мой совет - не *би мозг. Хороший кодер характеризуется не большими знаниями, а тем как он их применяет.

tia
()
Ответ на: комментарий от gavv

не буду советовать эталонный, но например по поводу ооп, высокоуровневости и glib интересно помотреть syslog-ng

ога, уже качнул, спасибо

на первый взгляд интересно, будем смотреть дальше :)

shty ★★★★★
() автор топика
Ответ на: комментарий от mv

Hello, world!

не, это конечно хорошо (с точки зрения структуры проекта, оформления, whatever...), но хотелось бы проект потолще, на предмет изучения структурных и архитектурных решений

shty ★★★★★
() автор топика
Ответ на: комментарий от shty

это инструкция как делать не надо. 3 мега говна на 6кб исходников, из которых половина это хидер с текстом лицензии.

true_admin ★★★★★
()
Ответ на: комментарий от tia

А что? Хочется изучить больше хаков с указателями и синтаксисом C?

это я тебе и без книжек «миллион миллионов» написать могу :)

Мой совет - не *би мозг.

спасибо сэр, стараюсь :)

Хороший кодер характеризуется не большими знаниями, а тем как он их применяет.

1. не согласен, знания тоже нужны, без них - лажа

2. как раз практики применения меня и интересуют в первую очередь

shty ★★★★★
() автор топика
Ответ на: комментарий от jtootf

я правлильно понял, вот этот nethack?

да. присоединяюсь к совету, например

тоже весьма интересно, например... будем смотреть :)

спасибо!

shty ★★★★★
() автор топика
Ответ на: комментарий от true_admin

это инструкция как делать не надо. 3 мега говна на 6кб исходников, из которых половина это хидер с текстом лицензии.

это как сказать, вот попадётся тебе въедливый и бестолковый заказчик (а такие порой попадаются) ты на него это всё сольёшь и он таааакой довольный будет, и я это гарантирую :)

shty ★★★★★
() автор топика
Ответ на: комментарий от shty

Конечно, базовые и основные знания в обязательном порядке. А вот владение всеми существующими фреймворками сразу...
А для практики попробуй что-нить сам написать.
Создай на ЛОРе тему «что бы написать?» и получай заказы. Опыта получишь столько, на сколько хватит энтузиазма.

tia
()
Ответ на: комментарий от tia

Конечно, базовые и основные знания в обязательном порядке. А вот владение всеми существующими фреймворками сразу...

не-не-не, я тебе не Девид Блейн :) владение всеми существующими фреймфорками - это охинея, с учётом развития оных и количества часов в сутках

А для практики попробуй что-нить сам написать.

Проект есть, вполне себе толстый, пишу. Просто тут сел и задумался, вот он будет выставлен на всеобщее обозрение, а правильно ли я его пишу, не придётся потом ножкой песок ковырять? :)

В случае с С++ я представляю как правильно спроектировать архитектуру, а С - это, так сказать, другая епархия.

shty ★★★★★
() автор топика
Ответ на: комментарий от Gleb-ax

а кстати да, чёт я про него совсем провафлил :)

и да, там муть какая то со скачиванием

shty ★★★★★
() автор топика
Ответ на: комментарий от undet

nginx. IMHO, очень красиво и грамотно всё сделано.

оке, качнул посмотрю

спасибо!

shty ★★★★★
() автор топика
Ответ на: nginx. от Camel

да, там вполне себе по уму сделано, к тому же есть реализация radix и red-black trees, хоть оне напрямую и не нужны, но реализацию деревьев посмотреть интересно :)

shty ★★★★★
() автор топика

а, еще было очень интересно почитать исходники квэйка
но не на предмет хороших практик :)

gavv
()
Ответ на: комментарий от CL-USER

не дают download сделать гады :) «Internal Server Error»

но дожмём, закачаем и посмотрим

спасибо

shty ★★★★★
() автор топика
Ответ на: комментарий от Gleb-ax

TeX?

Вообще-то, он написан Кнутом на макроязыке, который производил исходники на паскале.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от mityaz

Вы имеете в виду GNU toolchain?

shty ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

посмотрим-посмотрим...

спасибо! :)

shty ★★★★★
() автор топика
Ответ на: комментарий от dmitry_vk

накачал, посмотрим

спасибо

shty ★★★★★
() автор топика

пока, после беглого осмотра, самым энтерпрайзным выглядит sqlite :)

и хедер смешной расставляют, вместо копирайта

** The author disclaims copyright to this source code.  In place of
** a legal notice, here is a blessing:
**
**    May you do good and not evil.
**    May you find forgiveness for yourself and forgive others.
**    May you share freely, never taking more than you give.

ну да бум копать дальше

всем ещё раз спасибо! :)

shty ★★★★★
() автор топика

IMHO, следует не просто адекватный проект брать, а ещё и тот, тема которого интересна.

Какие же темы интересны, на какую тему проект?

anonymous
()
Ответ на: комментарий от anonymous

IMHO, следует не просто адекватный проект брать, а ещё и тот, тема которого интересна.

Какие же темы интересны, на какую тему проект?

тема морфологический анализ текстов на естественном языке, по теме разумного софта на сях не встречал, да и не так оно важно тут самое главное заимплементить правильное дерево поиска, а остальное уже детали

shty ★★★★★
() автор топика
Ответ на: комментарий от ip1981

уже качнул, только руки пока не дошли :)

спасибо

shty ★★★★★
() автор топика
Ответ на: комментарий от shty

Был какой-то спеллчекер, в 90х, написанный то ли на Си, то ли на ассемблере. Работал без орфографического словаря, программа занимала десяток килобайт. Составлялся частотный словарь слогов и/или буквосочетаний длины 1,2,3 и спеллчек выполнялся подсчётом частоты наиболее/наименее употребляемых слогов. В итоге словарь был не по словам, а по слогам, и морфология сразу работала, и программа занимала всего десяток.

Это на русском языке, программу и автора — не помню. На английском в ту же тему есть воспоминания о Bell Labs, там одна тётка написала спеллчекер анализом частот слогов. Его наверно можно скачать и посмотреть, хз, гуглить надо.

Ну и можно исходники бредогенератора вроде «корчевателя» посмотреть, хотя там с точки зрения морфологии как раз всё просто, обычные марковские цепи для псевдоразумного набора букв. Хотя длину больше одного абзаца бредогенератор ниасиливает. Всякие контекстно-зависимые омонимы вроде «косил косой косой косой» и т.п., естественно, тоже. На русском с падежами и окончаниями чуть сложнее, но тоже не очень всё сложно.

anonymous
()
Ответ на: комментарий от shty

>прям можно начинать linux kernel development осваивать :)

линукс — толстый, жирный и глупый пингвин. Смотри тогда уж исходники версии 0.01, чистые, незамутнённые всяким спамом в духе GNU hello world. google://«linux 0.01 source code», http://kerneltrap.org/Linux/Dusting_Off_the_0.01_Kernel http://tldp.org/LDP/khg/HyperNews/get/tour/tour.html

Проще освоить более простое ядро по докам вроде http://wiki.osdev.org/Bare_Bones или http://wiki.osdev.org/C++_Bare_Bones

anonymous
()
Ответ на: комментарий от anonymous

У Сергея Вакуленко http://vak.ru/doku.php/proj есть очень простая и понятная uOS http://code.google.com/p/uos-embedded/ . Это, конечно, не BKUNIX http://en.wikipedia.org/wiki/BKUNIX :) Ближе к минимальной оси вроде заглушки для груба http://vak.ru/doku.php/proj/grub-stand

Ещё у него любопытные исходники эмулятора БЭСМ, Демос-коммандера и Си-компиляторов для PIC :))

Странно, что никто не нашёлся не допилить вот это http://vak.ru/doku.php/proj/lang/vasic в полноценный транслятор, в какой-нибудь Си :))

anonymous
()
Ответ на: комментарий от anonymous

Если интересны компиляторы Си, то стоит посмотреть исходники: pcc, как «дедушки» всех Си-компиляторов, nwcc , как гну-совместимого, и при этом простого, tcc Фабриса Белларда, как простого и притом турбореактивного, sdcc как минимального и lcc как довольно простого, но при том вполне production (quake c компилятор построен на базе lcc)

Исходники Quake I , кстати тоже интересны: 1) алгоритмом обратного квадратного корня 2) реализацией quake C 3) реализацией BSP дерева, хотя это не очень сложно, трёхмерный аналог двух-двухсполовиноймерного BSP/алгоритма из исходников дума. Дум запомнился какими-то хаками с досэкстендером, WatcomC-специфичными кусками, Area Zonal Allocator в качестве аллокатора памяти. В общем, дум — это почти полноценная операционная система, с управлением памятью, моделью процессов/событий и т.п.

anonymous
()
Ответ на: комментарий от shty

в луа 5.1 есть какая-то научная работа на тему подходов к реализации эффективных интерпретаторов, она интересная сама по себе как сборник best practices в интрепретаторостроении + флейм на тему registered vs. stacked bytecode (не то чтобы флейм, внятное сравнение с цифрами, графиками и т.п.)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.