Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет kouzdra ([info]kouzdra)
@ 2011-08-26 19:03:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Программирование еще:
В принципе - и так ясно, что subj - ремесленно-инженерная в основном деятельность и высшего образования требует опционально - ну хоть Стива Джобса взять или Билла Гейтса.

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

В третьих и imho в главных - во времена, когда час машинного времени стоил 100 рублей (или долларов) было вполне оправдано предъявлять завышенные требования к уровню подготовки - просто потому что это не главная составляющая - так же как сейчас их предъявляют к летчикам или космонавтам (хотя еще перед второй мировой летчик-истребитель - была сержантская должность - потому как самолеты были сравнительно дешевы, если пилот и бился - то убивался обычно только он сам). С появлением персоналок, которые есть у каждого это как-то неактуально стало.

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

PS: Общая математика кстати, imho, для чисто программирования полезна - но в первую очередь просто потому что определенным образом прокачивает мозги и ставит абстрактное мышление. Но в принципе - многое можно и без этой прокачки делать: просто как и в других областях - есть техники и есть инженеры - в принципе несколько разные задачки просто решают. Ну типа сантехник не сможет унитаз рассчитать - тут инженер уже нужен.


(Добавить комментарий)


[info]levsha
2011-08-26 22:23 (ссылка)
Давно уже как-то пора расшивать институционально на кодеров и "системных архитекторов" или хз как их называть по науке. Если массовое сознание уже по крайней мере разделяет производителей и эксплуатационщиков (программистов и сисадминов) которых раньше валило в один мутный чан с названием "компьютерщики", то пора делать следующий типа шаг.

(Ответить) (Ветвь дискуссии)


[info]alamar
2011-08-27 00:44 (ссылка)
"Гусь свинье не товарищ"
"То есть как это - кто гусь!?"
(с) Еськов

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

На самом деле, "системных архитекторов" на свете очень мало. Это Сысоев, это DHH, это Торвальдс (хотя здесь короля может играть свита). Это придумавшие X11. Это пара человек в MS.

Остальные - это похмельные гномики, у которых иногда может получиться почти неплохо, а иногда может получиться, как обычно.
При этом, судя по коду - Сысоев такой кодер, что у него только пальцы не дымятся.
А большая часть влажных сновидцев про системного архитектора - вообще нельзя подпускать к клавиатуре.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]levsha
2011-08-27 01:29 (ссылка)
Мои личные мечты сухи, как ковбои Хаггиз, я не программист. И не рассказывайте мне, пожалуйста, про то как дела обстоят "на самом деле", я во-первых, я вам почему-то не очень верю, во-вторых, речь не идёт о том, "как оно устроено", а о том, "как оно могло бы быть (эффективнее) устроено". Гений-одиночка, чтец-певец-на-дуде-игрец в одном лице это, безусловно, прекрасно, но не отвечает индустриальному подходу, а софтваре девелопмент это давно уже индустрия и над методами коллективной работы там ломают голову лет сорок (см. хотя бы "Мифический человеко-месяц" Брукса).

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]alamar
2011-08-27 01:44 (ссылка)
Извини, что-то я на тебя взъелся.
Хотя если ты не программист, то зачем уже который коммент рассказываешь, как оно должно быть устроено?

Я тебе расскажу, как оно должно быть эффективно устроено.
Гений-одиночка неоптимален (хотя и может быть использован). А нужны вот какие люди - разносторонние, одарённые, имеющие какие-то сильные стороны, самостоятельные и способные взаимодействовать с окружающими личности. Но "индустриальному подходу" это категорически не отвечает. Но это именно то, что нужно.

Биоробот-"кодер", который делает, что ему скажет - очень и очень опасен. Дело в том, что он не несёт ответственности за результат. Он сделал то, что ему сказал "архитектор". К пуговицам претензий нет. А что результат или не работает совсем, или никаким человеческим требованиям не соответствует, или неподдерживаем - к нему претензий нет. Он же не возразил, не поправил, не упростил.

Что до веры мне - я не заставляю, но я хотя бы знаю, о чём я.

(Ответить) (Уровень выше) (Ветвь дискуссии)

инфляция имён :(
[info]qulinxao
2011-08-27 13:04 (ссылка)
биоробот-кодер по дефиниции не программист
биоробот-кодер по дефиниции транслятор.


и всё таки вы как-то уныло и жира мало тролите.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: инфляция имён :(
[info]alamar
2011-08-29 20:24 (ссылка)
Ну представь, что ты наймёшь отличного тренера и 11 быдлоподростков, которые будут не футболист, а транслятор умения играть тренера.

Будут ли они играть лучше, чем без тренера? Да.
Будут ли они играть хорошо? Нет, не будут.
Чтобы собрать хорошую футбольную команду, футболистов надо отбирать не хуже и не легче, чем тренера.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]qulinxao
2011-08-30 00:38 (ссылка)
с какой стати представлять

летят два кракадила один зелёный другой на лево

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]alamar
2011-09-05 17:52 (ссылка)
Извини, но тебя тут вообще не стояло.

(Ответить) (Уровень выше)


[info]levsha
2011-08-31 21:42 (ссылка)
>Хотя если ты не программист, то зачем уже который коммент рассказываешь, как оно должно быть устроено?

Попал в дурную компанию.

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

И что это означает применительно к нашим баранам? В универах надо больше внимания уделять обучению бальным танцам вместо гадских эквивалентных преобразований?

>Биоробот-"кодер", который делает, что ему скажет - очень и очень опасен.

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

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]alamar
2011-09-05 17:59 (ссылка)
К нашим баранам применительно - надо учить работать самостоятельно и отвечать за качество результата; а ещё надо учить работать в группе и отвечать за качество общего результата.
Что при этом надо делать - вопрос дискуссионный; но уж точно не дифуры решать, потому что в решении сотни дифур нет нисколечки ни ответственности, ни показателей качества.

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

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]qulinxao
2011-09-05 21:57 (ссылка)
если вам известно как надо и это "как надо" приносит больше пользы (в смысле квалификации обучаемых и способности их к продуктивной деятельности) , то что останавливает от практикования вами этого "как надо" в рамках вами нанятых таблораз из выпусников средней школы или даже получивших неполное среднее и готовых к получению средне специального на вашем производстве по?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]alamar
2011-09-05 22:35 (ссылка)
А мы так и делаем. Правда, у большей части соискателей уже есть вышка. Но вроде бы, принципиальным условием это не является, учитывая, что у некоторых её не может быть (законченной) тупо по возрасту.

(Ответить) (Уровень выше)


[info]gregory_777
2011-08-27 02:54 (ссылка)
Ну всё, пошла вода в хату...

(Ответить)

http://ershov.iis.nsk.su/russian/second_literacy/article.html
[info]qulinxao
2011-08-27 13:00 (ссылка)
предисловие архивариуса так же занимательно.

программирование это базовый навык которому возможно научать в начальной школе.

как и арифметика программирование достаточно "обьёмна" , что бы включать
как счётные палочки , так и теорию чисел.

... если совсем простно - всякий умеющий планировать есть программист.

(Ответить) (Ветвь дискуссии)

Re: http://ershov.iis.nsk.su/russian/second_literacy/article.html
[info]alamar
2011-08-29 20:25 (ссылка)
В программировании много "сермяги", которая не имеет отношения к умению планировать, а имеет отношение к тому, как вычислительный тракт устроен в реальной жизни. Не уверен, что эта сермяга интересна "всякому" - а без неё никакого полезного выхода от "программирования", увы, не получится.

(Ответить) (Уровень выше) (Ветвь дискуссии)

плотник у которого из инструментов только молоток
[info]qulinxao
2011-08-30 00:41 (ссылка)
такс.
в Jave без class ни куды.

однако утверждение:

программировать без class не возможно в реальной жизни.

истино в континиуме мощьности меньшей континиума программирование.

капиш?

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: плотник у которого из инструментов только молоток
[info]alamar
2011-09-05 18:01 (ссылка)
В джаве без class
В перле без s///
В прологе - без :- (кроме того, никто не знает, как на нём программировать вообще)
В c - без char*
В c++ - без десяти экранов сообщений об ошибке
В хаскелле - без [x:xs]


В общем, в любом программировании - куча левой и не очень интересной сермяги.

Есть и общая на все практические применения и тоже не очень интересная сермяга.

(Ответить) (Уровень выше) (Ветвь дискуссии)

есть увереность что alamar не видет тем.
[info]qulinxao
2011-09-05 22:09 (ссылка)
http://ershov.iis.nsk.su/russian/second_literacy/article.html

для джавы не компильнёш если отсутствует class .

в перле возможно без s/// получить полезную тулзу.

в прологе , да :- необходимо для определения фактов (или/либо правил не помню) - ну ваше определение универсума не способного к программированию на прологе любопытно.

в C - отсутствие char* - позволяет компилять компилируемое так что не надо тут считать int main(int argc, char *argv[]) - единственным вариантом
есть и int main(void) , а тем более
int main(int argc, byte *argv[]) - так же дозволительно.
ну а если компилятор вредный то int main(int argc, unsigned byte *argv[])

про С++ - а вот и не смешно.

не настолько знаю Хаскел что бы опровергнуть примером .

эээээ в зтатном курсе по sicpу Mit 6.001 (на ютубе есть) при освоение программирования намерено минимизирована сермяга получасом Scheme - в лучших домах лОндона и паРИжа рекомендуют.

да. знание алфавита есть рутина .

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: есть увереность что alamar не видет тем.
[info]alamar
2011-09-05 22:56 (ссылка)
Написать программу без char* можно, а вот написать программу, которая делает что-то интересное - нет.

Так же и в остальных случаях.

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

(Ответить) (Уровень выше) (Ветвь дискуссии)

успехов в обучение вновь принятых подмастерьев-будущи
[info]qulinxao
2011-09-05 23:50 (ссылка)
Вы троллите или ненамерено?

в си (ибо перенасимый ассемблер) ДОСТАТОЧНО int и int* что бы всё.\

по B это очевидно всё есть 16битное слово (на PDP11- или похожем было) и всё есть вот это самое.

на си можно написать всё(и без char* ну блин byte* чем вам не достаточен?) и написание всего не попадёт в тьюрингову дёгтевую яму. и делать много что интересного
ну блин в чём разница между char* и unsigned byte * при том что ща UTF-8 поэтому всяко char* есть уже легаси - и похорошему необходимы битовые последовательности (которые и есть если смотреть на всякие запакованные структуры).


почитание sicp во многом каргокульт - а в существенном хорошей пример уменьшения ознакомления обучаемого с рутиной частью в пользу существенного.

sicp ужастно ознакамливает с аппликативным программировананием , sicp хорош ознакомлением с тем что программирование есть не только и не стролько борьба с мемори ликами и 100500 видами циклов и т.д.


что в ваших обозначениях "cермяга"?

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re: успехов в обучение вновь принятых подмастерьев-буду
[info]alamar
2011-09-06 00:54 (ссылка)
Я не веду речь про obfuscated programming. Я говорю про то, что в С всё довольно грустно со строками, но при этом с ними прийдётся столкнуться и это очень полезно для будущего программиста, но достаточно неинтересно для непрограммиста (с которых мы начали беседу).

То, что Зед Шау зовёт "yak shaving". Деятельность, которая не служит для достяжения результата напрямую, но необходима для того, чтобы иметь возможность этот результат достичь. Программисты на это тратят около половину времени, а непрограммистам это неинтересно и не надо. Но поскольку языки и среды программирования делают программисты, непрограммистам не очень интересно их осваивать (если это не excel).

В частности, отсутствие yak shavingа зачастую либо приносится в жертву ортогональности, либо является следствием недостатка тонкой доточки платформы.

(Ответить) (Уровень выше)