Pull to refresh
16
0
Send message
И котоаппараты тоже

Все азы я выучил на паскале. Затем мы начали изучать С и позже С++. А зная азы и архитектуру языка, я легко освоил сишные языки.

затем в универе мы изучали Cygwin + Assembler + OpenGL. Этого опыта мне хватает и по сей день. Я легко освоил PHP, html, javascript, mysql и firebird.

Я за пару дней освоил AVR контроллеры, потому что я понимал основы языка, и не важно, ассемблер это или си

я понял, что такое ООП, система сообщений, мьютексы, семафоры, многопоточность, базы данных и пр.


Ух, круто. А то вон некоторые тратят годы, чтобы стать специалистами по базам данных, встраиваемым системам или фронтенд разработке. А вы, благодаря delphi конечно, легко все освоили. Достойно.
Топор, лук и колесо — это тривиальные изобретения, но 1 млн. лет назад никто не мог их изобрести и реализовать.

Хотел бы я посмотреть на сейчас, если бы эти изобретения в свое время запатентовали.
Слушаю миксы на 8tracks.com, периодические утаскивая треки в оффлайн библиотеку.
Может я зануда, но не «Психиатры считают подозрительным» а «психологи».

Если бы психиатры так считали — был бы повод волноваться. А психологам можно, они такое любят.
Википедия даёт 2 определения того, что такое инкапсуляция. Первое — ваше, и мне оно не нравится, т.к. не понятно, чем тогда инкапсуляция отличается от, собственно, объекта.

Не понял, каким образом вы сравниваете инкапсуляцию и объект? Если:
Я имею ввиду, что инкапсуляция — это, по первому определению, связывание данных и методов; объект — это как раз получившаяся связка.

Данные(поля) объекта и методы для получения/изменения значения данных — это свойства объекта. Инкапсуляция в данном случае — когда вы оперируете не напрямую с данными, а со свойствами объекта.
А объект — это не только куча свойств.

Не совсем верно. АТД по определению покрывает именно типы данных, понятие абстракции гораздо шире. Почитайте SICP: там как раз первые две главы описывают абстракцию по средствам процедур и по средствам данных.

Именно. В SICP и говорится, что абстракции лежат в основе программирования (и парадигм программирования). Зачем выделять их особенно для ООП — непонятно.
С другой стороны, открываем «Совершенный код», листаем до главы 6.1 и читаем про «АТД в основе концепции классов».
Возможность использования единого интерфейса для работы с разными БД — это конкретно полиморфизм, он там на пару пунктов ниже идёт.

Используется более общий, «абстрактный» интерфейс для работы с БД, а более специфичная реализация сокрыта. Чем не пример абстракции? А уж используется ли тут полиморфизм — менее значимо.
Да, поток байтов. Вот только формируя и передавая его, вы работаете не с регистрами/памятью напрямую, а, грубо говоря, пользуетесь удобными абстракциями в виде функций fopen, fread и прочих.
Хотя нет, вы пользуетесь абстракциями уровнем выше, которые предоставляет вам драйвер БД, и работаете с запросами, а не с потоками байтов.
А теперь нужна абстракция, чтобы скрыть работу с драйвером, а работать с общим для баз данных интерфейсом. И реализовать ее в парадигме ООП будет намного быстрей и изящней.

Вы пытаетесь сравнить абстракции разных уровней.
Заметьте, что f — файловый дескриптор, который в сущности ссылается на поток байтов (хоть это файл на диске, устройство ввода-вывода или удаленный компьютер). И естественно, что вы можете работать с потоком байтов как с потоком байтов.
Более того, объектно-ориентированные языки сами зачастую нарушают правило инкапсуляции, предоставляя доступ к данным через специальные методы — getters и setters в Java, properties в C# и т.д.

Вообще-то объединение данных и методов работы с ними и есть инкапсуляция, которая позволяет контролировать состояние объекта.
Так какие же дополнительные средства абстрагирования несёт в себе ООП? Понятия не имею. Выделение кода в подрограммы? Это умеет любой высокоуровневый язык. Объединение подпрограмм в одном месте? Для этого достаточно модулей. Типизация? Она была задолго до ООП.

Абстракция (а точнее АТД) — это то, на чем базируется ООП, а не то, что оно привносит в программирование. И да, ООП предоставляет абстракции уровнем чуток выше, чем функция или модуль. Например, абстракция «база данных», скрывающая низкоуровневую реализацию, и позволяющая работать с разными базами данных через единый интерфейс (достаточно будет, например, просто указать нужный «драйвер»).
… поскольку человеческий мозг вообще не приспособлен для оперирования абстракциями

Есть мнение, что именно эта способность человеческого мозга позволила нам перестать жрать бананы на деревьях, а развиться до компьютеров и айфонов.
Интересно, а можно потом засудить эту организацию, которая внесла сайт в реестр, по статье «клевета»?
Заказчик нужен на стадии сбора требований.
Получив требования, вы занимаетесь проектированием.
Ох повезло. У нас цепляются ко всему, начиная от маркеров списка, заканчивая выравниваем числовых значений в таблице.
Эх вы.
Посмотрите сколько многоточий, насколько волнительный текст. Человек явно пишет под дулом пистолета (или правильнее под стволом), а вы ему — тролль, тролль.
Уже выложил кто-то на 4shared.
А на elderscrolls.net обещали в скором времени опубликовать перевод и нормальные скрины.
Несколько печалит визуальное оформление в стиле «еще-одна-ммо».

Ординатор

Персонажи

Нечто в стиле оригинальных концепт-артов к Морровинду было бы вообще прекрасно.
Чего-чего? Проверка совпадения ID сессии из запроса с реальной текущей сессией — это основной метод защиты от CSRF всегда был и остается.

Страннота. Я всегда думал что от CSRF защищаются генерацией уникального токена для каждого действия пользователя.
Ну-ну. А потом кому-то эту «дешевизну и скорость выполнения» приходится поддерживать и дорабатывать. И правка какой-нибудь мелочи на 10 минут выливается в пару-тройку часов работ, чтобы конкретный проект конкретного заказчика продолжал радовать конкретных пользователей.
Только вот мне надо пару лет переучиваться

Пару лет? Это же не обучение программированию с нуля. Шаблоны проектирования и прочие MVC они и на питоне работают. База Данных и там и там.
Раз вы хороший специалист, то вы, вероятно, выделяете время для обучения, и, скорей всего, вы программируете не только на PHP. А значит можете изучать тот же питон параллельно работе.
Пусть это будет «говнокод», окей. Но кому какое дело, по сути? В реальном мире всем важно чтобы «это работало» а не «как это работает».

Подход « лишь бы это работало» приводит только к дополнительным затратам. На поддержку, на оборудование, чтобы «лищь-бы-работало-код» не тормозил.

Если вы или ваша компания может позволить себе тратить время на такой код — то замечательно!
2

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity