LINUX.ORG.RU

ООП на Си


0

0

Здравствуйте. Не подскажет ли кто-нибудь книгу/статью в интернете где описывается наиболее правильные приемы объектно-ориентированного программирования на си (именно на ansi c, не на плюсах). Хорошо бы на примере реальных проектов, вроде gtk, linux vfs и python. Спасибо.

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

> книга стаящая, рекомендую

Книга, действительно, стОящая, интересно почитать.

Но ООП на Це ИМХО бред, хотя и может быть полезным в ограниченном кол-ве случаем. Например, при работе в команде с "деревянными" людьми, зашоренными УМЛем и "дизайн паттернами".

Просто Це (как и ассемблер) как-то слабо зависит от "парадигмы". Ты можешь думать в объектах, в функциональщине, в процедурной императивщине, etc. -- но все это у тебя в голове, а уж кОдить-то -- дело десятое. Но если ты себе в голову вбил "ООП", то, скорее всего, получится крокодил типа mc или gtk.

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

>первая ссылка в google. книга стаящая, рекомендую
Занятно. Спасибо.
Не ОП.

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

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

MiracleMan ★★★★★
()
Ответ на: комментарий от Die-Hard

> стОящая

yep.

> Но ООП на Це ИМХО бред, хотя и может быть полезным в ограниченном кол-ве случаем. Например, при работе в команде с "деревянными" людьми, зашоренными УМЛем и "дизайн паттернами".

1) это не бред, это просто не оправданно

2) в мире программирования много всего не оправданного, но забавного. смотри на это, как на игрушку, и не мешай другим играться. =)

; schily

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

> в мире программирования много всего не оправданного, но забавного. смотри на это, как на игрушку, и не мешай другим играться. =)

Часто оно ест моск. :(

К сожалению, в последнее время тенденция появилась, что "игрушки" объявляются "парадигмами". Мыслить вне DSL (или хотя бы дядейписанных суперуниверсальных библиотек) современные кодеры агрессивно отказываются, факт.

Die-Hard ★★★★★
()
Ответ на: комментарий от Die-Hard

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

ЗЫ Сам нежно люблю ООП, включая его на С (не на плюсах). DSL не терплю, а вот всякие abstraction layers (которые тоже "суперуниверсальные библиотеки") очень нравятся...

svu ★★★★★
()
Ответ на: комментарий от Die-Hard

> К сожалению, в последнее время тенденция появилась, что "игрушки" объявляются "парадигмами".

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

> Мыслить вне DSL (или хотя бы дядейписанных суперуниверсальных библиотек) современные кодеры агрессивно отказываются, факт.

потому что новичкам в программировании везьде втирают, мол, не нужно изобретать велосипедов, есть готовые продукты a, b, c, d, которые всё умеют искаропки. это вкорне не верно. если *обучающийся* не будет изобретать велосипеды, он ни чему не научится.

; curpany

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

> DSL не терплю

неужели вы не используете yack, regexps, sql, xslt, bnf, uml?

а всё из перечисленного таки dsl.

; unmpper

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

> Без парадигм не получается построить индустриальное программирование. Надо командовать армиями, армадами,... программеров самой разной квалификации - приходится придумывать что-то понятное и простое.

Согласен!

Только ИМХО все это из той же оперы, что Бритни Спирс с Димой Биланом и прочими фабриками звезд. "Разве можно представить себе индустрию современного шоу-бизнеса без чудовищных вложений в рекламу и современных технологий раскрутки?" -- риторически вопрошают продюсеры и всякие копирасты... А по мне, без них всем (кроме них, разумеется) было бы лучше.

Я 15 лет назад стопятидесятистраничный диссер набирал на ЛаТеХе под ДОСом на 286 компе о 20 мегагерцах с одним мегабайтом оперативки, картинки в полуворованном ХарвардГрафиксе на том же компе рисовал. Результат и сейчас выглядит читабельнее того, что сегодня можно выжать из Ворда, с трудом взлетающего на трехгигагерцовом многопроцессорном компе с несколькими гигами на борту. А уж про пресловутый "комфорт"...

Все эти "армии и армады ... программеров самой разной квалификации" в конце концов заняты тем, что помогают наскольким десяткам самых богатых на планете людей стать за наш счет еще богаче -- И ВСЕ!!! Без них всех ИМХО было бы лучше.

К сожалению, от современных идиотских парадигм никуда не деться -- свершившийся факт, "на рынке всегда побеждает самое кривое техническое решение" -- но мне иногда от рассуждений всяких индусов - дотнетщиков или маргиналов - лисперов просто смешно делается...

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

> потому что новичкам в программировании везьде втирают, мол, не нужно изобретать велосипедов, есть готовые продукты a, b, c, d, которые всё умеют искаропки. это вкорне не верно. если *обучающийся* не будет изобретать велосипеды, он ни чему не научится.

Для этого в MIT есть тот самый базовый курс программирования, где студенты пишут интерпретатор scheme на scheme. А отечественное IT-образование спасёт только могила.

mv ★★★★★
()
Ответ на: комментарий от Die-Hard

> Все эти "армии и армады ... программеров самой разной квалификации" в конце концов заняты тем, что помогают наскольким десяткам самых богатых на планете людей стать за наш счет еще богаче -- И ВСЕ!!! Без них всех ИМХО было бы лучше.

А вы не находите, что писать отчёты для 1С ваши звёзды от программирования просто не захотят? Информатизация так глубоко проникла во все щели хозяйственной деятельности, что без армии программистов самой разной квалификации никуда не деться? И ровно такая же ситуация во всех остальных областях, связанных с деятельностью человека: полно посредственных работников, делающих свои два цента, плюс несколько действительной мощных специалистов в своей области.

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

> А отечественное IT-образование спасёт только могила.

спасение утопающих - дело рук самих утопающих. mit open lectures никто не отменял. (там, к слову, есть и sicp video lectures)

; purting

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

>получится крокодил типа mc или gtk

/me кастует вызов geek'а 15 уровня.

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

> Но если ты себе в голову вбил "ООП", то, скорее всего, получится крокодил типа mc или gtk.

а mc то тут каким боком :-?

// wbr

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

> неужели вы не используете yack, regexps, sql, xslt, bnf, uml?

Приходится, куды ж деваться;) Хотя из этого списка SQL - как раз очень хороший пример, мой самый нелюбимый. Потому что тут же появляются поползновения организовать бизнес-логику прямо в хранилище (типа plsql, transactsql, ... а есть еще гадостный esql, хотя и из другой оперы) - а я стараюсь "проскочить" мрачную фазу реляционности как можно быстрее и через какой-нибудь ORM оказаться в светлом ОО мире.

svu ★★★★★
()
Ответ на: комментарий от Die-Hard

> А по мне, без них всем (кроме них, разумеется) было бы лучше.

Есть такая разлюли-кина "Последний Самурай". Там в конце замечательно кровавая сцена битвы самурайской армии с новой, построенной по европейскому образцу. При том что очевидно - каждый воин-самурай обладает гораздо большей доблестью и умением, чем любой из свежеиспеченых солдатиков. Но против пулемета....;) Индустриальное программирование - это как раз про то как воевать без самураев. Правда, неочевидно, есть ли у кого-нибудь уже пулемет...

> в конце концов заняты тем, что помогают наскольким десяткам самых богатых на планете людей стать за наш счет еще богаче -- И ВСЕ!!!

Ну это ж банальный марксизм, знаете ли. Богатые становятся богаче, бедные беднее;) На самом деле, кроме шуток, это в т.ч. и проблема трудоустройства для не самых богатых (и не самых образованных/умных). Позволяющая им существовать в рамках среднего класса, тем самым уменьшая социальную напряженность и пр. и пр. У индустриального программирования существенный социальный аспект, по большому счету. Призывы уничтожить эту пирамиду - я б назвал откровенной кроковщиной;)

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

>> Но если ты себе в голову вбил "ООП", то, скорее всего, получится крокодил типа mc или gtk.

> а mc то тут каким боком :-?

Там, помнится, тоже куски на сишном ооп присутствуют... Хотя, может, забыл уже.

Вообще, ИМХО mc являет собой яркий пример того, как НЕ надо писать программы, а проект -- как НЕ надо организовывать проект (а деИказа -- как можно, не написав ни строчки толком работающего кода, стать Великим Программистом). :-)

Die-Hard ★★★★★
()
Ответ на: комментарий от mv

> ...полно посредственных работников, делающих свои два цента, плюс несколько действительной мощных специалистов в своей области.

Я немного другое имел в виду: ОБЛАСТЬ не нужна (была)! Теперь уже все, никуда не денешься от этого -- вместо освоения Солнечной системы человечество выбрало путь разработки все более мощных пишмашинок, и специалисты востребованы пачками...

Die-Hard ★★★★★
()
Ответ на: комментарий от dilmah

2dilmah:

Экклезиаст тут не при чем, просто я вижу что компы становятся все мощнее, а работать на них все неудобнее...

Давайте в талксах продолжать, если есть желание? Тут, наверпое, надо ближе к ООП на Це держаться... :-)

Die-Hard ★★★★★
()
Ответ на: комментарий от Die-Hard

> Экклезиаст тут не при чем, просто я вижу что компы становятся все мощнее, а работать на них все неудобнее...

шо и дажа линукса не помогает :-?

// wbr

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

Он видел 4 кеды, он потерян для линукса.

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