Как стать автором
Обновить

Комментарии 226

Я так делал в институте, чтобы никто не списывал :-)
Что касается статьи, не совсем понятно что хотел сказать автор, в заголовке «Самый страшный код в моей жизни», а в качестве вывода он говорит что не так уж это и страшно.
вас часто били? :-D
Странно, а мы друг-другу стараемся помогать, если это прямо не вредит никому. У вас каждый сам за себя был?
НЛО прилетело и опубликовало эту надпись здесь
Помню сделал 20 лаб по одному из сложных предметов в семестре, пол года корпел сдал (многие не сдали). Приходит на следующем семестре такой Вовочка, сует флешку и говорит скинь свои лабы. Ага, бегу и падаю :)
Я всегда давал списывать. Я учился для получения знаний и выполнив лабу я их получал, а не для оценки или участия в паралимпиаде «у кого лучше оценки!».
А что вы потеряли бы если однокурсник спишет у вас ваши лабы?
Все зависит от отношения одногрупника к тебе, имхо. Нормальному человеку не то что списать дать, а даже с нуля написать не жалко.
Да, если с человеком плохие отношения, то списать бы не дал. А если подходил совершенно левый человек из другой группы и просил, то почему бы не помочь? Отослать письмо с атачментом – 5 минут.
Ну с другой группы тоже по разному можно попросить, например: «Слышь, дай списать, не будь ботаном», или «Дай списать, пожалуйста, ато я не успеваю, с меня пиво». Это грубо, конечно. =)
Помню, когда учился в институте, на нашу кафедру пришли студенты с другого факультета (а у нас пары не было как раз), ну я за час заработал несколько стипендий.
Кафедра сопромата, небось? :)
У нас была кафедра теоретической кибернетики и информатики, а в гости к нам пришли товарищи с горнодобывающего факультета
А что сложного в теоретической кибернетике? Дискра диской.
Вот то ли дело кристаллография. Дали тебе какой не пойми камень и сиди пиши о_О
Да, если с этим человеком плохие отношения, то помогать бы я не стал. Но я высылал решения по почте совершено левым людям (первый раз вижу). Отправить почту с атачментом – это пара минут, а кому-то помог. И мне помогали и знакомые и не знакомые, если мне что-то надо было.
Блин, отослал комментарий и он пропал. Понажимал ф5 пару раз и написал ещё раз, а потом старый появился.
Да, не жалко, особенно если это не одногруппник, а одногруппница. Я тоже так думал. А потом на ней женился и живу уже с ней 15 лет :)
А я на первом курсе забрал её из общаги к себе домой, на третьем — женился, а теперь вот дочке 5 месяцев :) Она ходила на лекции, а я их читал с конспекта и частенько делал сложные лабы и курсачи за двоих. Такое вот разделение труда. Она получала «автоматы» за посещаемость, а я за «качественные оригинальные решения» :)
Предпочитаю нормальный бартер. Лабы по информатика, С++, прологу и базам данных в обмен на какие-то другие.
ИМХО, когда даешь списывать ты своими руками уменьшаешь количество (ну или вероятность появления) квалифицированных конкурентов.
Знаний и опыта списывающему от этого не прибавится, рас.
Учиться он не научиться, два)
А когда нужно будет набрать на проект пяток специалистов, Вы будете удивляться, где же квалифицированные кадры :)
Не стану спорить, ваша точка зрение так же имеет место быть. Но думаю, что с помощью разрешения/запрета списывания вряд ли можно добиться баланса квалифицированных кадров в природе)
Абсолютно согласен, все не настолько просто.
Списывают только тогда, когда не нравится. То что нравится ты сделаешь и сам, и не ради оценки.
Качественный специалист всегда любит большую часть элементов своей работы, если не все.
А те кто списали, ну не всем же быть программистами. Кто-то, закончив мехмат, спокойно может пойти работать футбольным комментатором или художником.

У нас один препод с кафедры, ставя одному нерадивому студенту зачет, сказал: «Ну диплом-то вам дадут, а что вы с ним делать-то будете?»

Хотя если поверить в поговорку: «Слюбится да стерпится», то может вы и правы, что мы так потенциально теряем спецов…
А теперь эти врачи лечат Вашего ребенка.
Тема списывания — закрыта?
А я лабы продавал. Я плохой, да?

Веселее всего было продавать дипломные работы учась на втором курсе.
Я делаю за еду =)
Сама формулировка данного комментария выглядит весьма ущербно, хотя, вроде бы смотришь, и думаешь: «трудолюбивый человек, не дал халявщику воспользоваться плодами своего интеллектуального труда», но, черт возьми, я сам скатывал какие-либо предметы, которые не интересовали меня у однокурсников, будучи в таком случае «володей», и не парился, когда «володи» скатывали у меня то, во что я вложил какие-либо силы и старания…
Какую ценность все это имеет в универе, когда Вы уже извлекли весь необходимы опыт и знания из предмета? Будьте нормальными людьми, а не долбоебами!
Ну. Это имеет ценность повышения качества вуза. Вам же хочется учиться в хорошем университете, так? А если вы учитесь в таком, где преподаватель не может отличить самостоятельно написанную лабораторную от просто скатанной… Ну и зачем вам такой вуз?

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

Какая-то такая конструкция. То есть, с точки зрения повышения качества образования нормальный человек — это как раз тот, кто списывать не даёт.

Да и потом. Это реально никакая не помощь. Все те, кому вот лично я давал списывать, ничего в итоге и не добились особого в жизни. А те, кто сам занимался, хоть на трояки, но сам… Уже и кандидатские защитили. Умение самостоятельно работать — это важно… Но, в принципе, а чего б не попортить жизнь особо ненавистному сокурснику?
НЛО прилетело и опубликовало эту надпись здесь
Да все нормально. Нормальная рыночная модель: «Не можешь сделать лучше/быстрее/дешевле/не нравится/пр.? — Купи»
Да эта тупая модель. Цель образования — научиться самому делать быстрее, дешевле, лучше и уметь контролировать своё поведение. И покупать надо именно это.

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

Для того же, кто все лабораторные прорешивал, это всё, конечно, весьма выгодно — и денег срубит, и квалификацию поднимет.

Впрочем, рынок на идиотах и держится. Судя по предлагаемому в последнее время ассортименту.
Я бы не был так категоричен насчет модели образования. Скажем, на моей специальности был ряд предметов, которые мне не нравились, я не считал их нужными для прикладного математика / программиста, они не были мне интересны, они никак не улучшали мои профессиональные навыки. Как тут указывали сверху, это всякие сопроматы, механика сплошных сред, ряд гуманитарных и полугуманитарных предметов.

Так же был ряд предметов, по которым было весьма трудно сдавать, если вообще не посещал занятия. А мне посещать занятия было весьма трудно, ибо работал на полную ставку. Да и была бы возможность — принципиально бы не ходил. Не люблю преподавателей, который придают значения посещаемости.

Так же, я убежденный сторонник разделения курсов на «обязательные» и «на выбор». В нашем образовании такого разделения не предусмотрено — поэтому я делил сам, так как считал нужным.

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

Гуманитарные предметы тоже полезны в некотором смысле, позволяют хоть немного взглянуть на мир под другим углом. В той же США (которые у нас правительство и прочие либералы считают эталоном) в философия и история, плюс литература или язык, обязательны на любой цепочке образования, без них нельзя магистра получить.

Вы исходите из того, что Вам лучше знать, что Вам нужно, а что нет. Но опыта-то у Вас много меньше, чем у разработчиков программ. Плюс они программами преследуются некоторые социальные цели. То есть, как бы, специалистам лучше знать, как учить. Вы можете с этим согласиться и пойти в вуз на обучение, и учиться там. Вот странное у людей отношение всё же к обучению: вот какому-нибудь врачу, даже без докторской степени, они не идут, и не советуют: 'доктор, а вы меня режьте не тут, пожалуйста, а на 10 сантиметров ниже'. А вот разнообразных профессоров (понимающих в образовании) и академиков (которые всё же по физ-мат наукам в большинстве своём не дутые, и ведают, что творят), так каждый считает себя умнее.

Опять же, если хочется больше времени уделять работе — есть же заочное обучение. Я вот вообще не понимаю студентов… Они сначала ссылаются на то, что работают, и не ходят учиться, а потом тратят огромные объёмы времени, чтобы пересдавать, восстанавливаться и т.д. Не проще ли найти работу в вечернее время? Да хотя бы тот же фриланс, или техподдержку, или сторожем в конце концов… А то получается какая-то неадекватная оценка самих себя. А самое противное, что такие работающие потом столько крика поднимают из-за того, что им двойки ставят, потому что они элементарное даже не могут сделать, даже собственное значение матрицы найти. И аргументы именно такие: а нам это не нужно… Но если не нужно, чего пришёл-то тогда мне мозги пудрить?
Тьфу, блин. Побил постом этим собственный рекорд безграмотности. Прошу прощения у хабраобщественности.
Cпасибо за пост. Хоть я с вами и не согласен по большинству пунктов, но видно
что вы разбираетесь хорошо.

А теперь мои ответы:
1) Почему это у нас нет на выбор и обязательных? Есть такое
Нет, такого нету, по крайней мере в государственных технических вузах самары (СамГТУ, СамГТУ, СГАУ им. Королева) такого нет. Все предметы которые есть в программе — обязательны. Пропорция между «математикой» и «computer science» тоже жестко задана.

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

2) Я не считаю, что унивеситетская программа США — это идеал (хотя очень уважаю такие университеты, как Беркли, MIT, Гарвард и прочие из лиги плюща — они дали нашей индустрии и миру вообще много всего хорошего).

У меня нет идеала системы образования. Плюсы системы IT — образования США — это курсы по выбору в университетах + более тесная интеграция с R & D отделами крупных корпораций. У нас такой тоже есть — но меньше и в небольшом числе топовых вузов.

При этом, например, я знаю лично очень сильных программистов и архитекторов (из США), которые не учились в ВУЗах и даже в колледжах. Да и вы вспомните легко пару примеров. Джон Кармак тот же…

Насчет гуманитарных предметов — я лично считаю, что их, во первых, должно быть меньше чем технических, в техническом вузе, во вторых — по ним не должны задавать кучу рефератов, проводить бесчисленные семинары, коллоквиумы и прочее, аттестация должна быть максимально упрощена. Кому надо — будет ходить. Количество обязательных гуманитарных предметов имхо, должно быть минимально. 2-3 курса за весь университет, за 4-6 лет, не больше.

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

А когда мне говорят — будьте любезны подготовиться к семинару, где мы будем обсуждать то-то и то-то к среде, и вам надо будет осветить следующие темы… это вызывает НЕНАВИСТЬ.

3) Насчет врачей. Вы имхо, путаете, советы к врачу со стороны пациета и со стороны обучающихся — составителям программ. Программы составляют бюрократы, которые далеко не всегда знают, что нужно реальному миру, особенно это применимо к программированию. В медицине конечно, все должно быть несколько более консервативно.

Если вы спросите кого-нибудь из прогрессивных преподавателей IT-специальностей, одобряют ли они программы минобразования, уверен — многие скажут что там мягко говоря есть что изменить.

Когда я смотрю на программы я ясно вижу, что бы я хотел убрать, а чего добавить.

Понимаете, в огромном количестве технических ВУЗов вообще нет такой специальности — «Computer Science». Есть специальности вида «Прикладная математика и информатика», в которой информатике часто отведено традиционно второе место по часам и по отношению преподов… Я говорю вам по своему опыту здесь — сильных и знающих преподавателей по математике — много. И старых, и среднего возраста, про молодых не скажу, не встречался.

Сильных и знающих преподавателей таких дисциплин, как «Теория РСУБД», «Теория формальных грамматик и компиляторов» (привет вам, Ахо и Ульман!), «Функциональное программирование», «Классические алгоритмы и структура данных», «Многопоточное программирование и параллельные вычисления» найти трудно, а вне Москвы и Питера — КРАЙНЕ трудно, уверяю вас. Если такие курсы и предусмотрены программой, что бывает не всегда — они вырождаются, потому что вести их некому (ну и большинству студентов они непонятны и ненужны, это факт).

Далее. Лично мне безразлично, имел хирург, который вырезает мне аппендицит, двойку или пятерку по экономике промышленности, прогуливал ли он экологию и с какой попытки сдал химию неорганических соединений. Я хочу чтобы он хорошо делал то, за что я ему плачу.

4) Тут щас будет много понтов и хвастовста — извините, накипело.

Тут понимаете какой дело есть… Я работал не фрилансером и не сторожем. Давайте я дам вам ссылку на мой старый коммент в подобном споре — habrahabr.ru/blogs/gtd/85124/#comment_2539493. Я работал программистов (а потом ведущим программистов) на полную ставку, и учился, и параллельно еще изучал нормальный, настоящий «Computer Science».

Да и учился я не так чтобы плохо. Автоматов конечно обычно не было — прогульщикам ведь их не ставят… А так участвовал в всероссийских олимпиадах по математике, занял там один раз 3-е место… Участвовал в олимпиадах по информатике, ГОСы и диплом защитил на 5.

Заочное и вечернее образование туфта, вы же знаете. Кто там преподает? Отбросы педсостава и аспиратны? А кто там среди студентов — те, кому корочка нужна?
А ещё про 'хачить' отдельно. Проблема-то в том, что хачат они совсем не систему. В системе нет возможности её похачить, потому что, она тупая, как АК-47. Они хачат преподавателей (в том числе и взятками), что является, imho, преступлением против Родины. Потому что так уничтожается хорошее образование, как факт. Взять те же взятки, люди берут взятки и перестают требовать у начальства улучшения условий труда, работа в вузе становится всё менее престижной, нормальные люди не идут в вузы… И т.д. и т.п. Вот оно кому такое положение вещей нужно? Как бы, в Америку-то все не свалят, и дети тех, кто учится здесь, будут учиться здесь же. Неужели так выгодно убивать систему образования, ради того, чтобы не сходить лишний раз на философию?
«чем меньше твои знания, тем ценнее я как специалист»
то есть, почему нет? :)
Можно выложить лабы на гуглокоде в открытом доступе и давать всем ссылку, можно и преподу за одно. Всем профит.
В прошлом семестре сделал товарищам порядка 37 лабораторных по программированию и получил за экзамен 3, хотя многие были на коне со списанными программами.
Так в помощи ли дело?
Но и точно не в оценках.
У меня были случаи когда мне ставили 3 за работу, за которую некоторым поставили бы 10. Это со слов преподавателя. Оценки он разные бывают.
Оценка — это не столько, сколько ты стоишь. А за сколько ты себя продал.
Не без доли рандома.
Бред — это я вам как препод говорю. Оценка — это оценка, и ничего другого. Просто если человек крут, но откровенно пишет лабуду, то чего его поощрять за такое употребление своих талантов?

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

Как бы, прилежность тоже надо оценивать. Людей надо к труду приучать. Это важно… Халявщики в России — это национальное бедствие.
Дело не только в халявщиках. Дело в негибкости той модели образования, которая сейчас предлагается.

1) Нет официального свободного посещения на дневном обучении. Есть заочка — но она не дает освобождения от армии + есть далеко не везде + там далеко не лучшие преподы + контингент мягко говоря не айс.

2) Нет курсов «обязательных» и «по выбору» в подавляющем большинстве ВУЗов.
1. А, по-моему, вы не учитываете особенности системы целиком. Если разрешить свободное посещение, то как потом с человека спрашивать? Если у меня есть формальное правило: студент должен быть на лекции, и я должен у него спрашивать то, что ему рассказал, а он должен освоить эти знания. И если всё ОК, я ставлю ему отлично.

А со свободным посещением… Ведь, я ему не рассказал… Как оценивать его ответы, если он готовился по книге (а это всегда видно), которая идёт вразрез с одобренной в вузе научной школой? Более того, во многих книгах (особенно по программированию) написана иногда чушь (например, в учебнике по regexp'ам такой ахинеи можно об автоматах начитаться), но как мне оценивать, когда мне рассказывается чушь, но в строгом соответствии с книгой? Человек же постарался, обучился…

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

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

Даже если бы программы были индивидуальными, то посещение всё-равно было бы обязательным. И даже более, если бы программы были индивидуальными, то для студентов, которые учатся не за свой счёт, нам бы пришлось создавать обязательные индивидуальные программы (потому что государству/фирме/вузу — основным заказчикам, кроме собственно студентов — нужны специалисты с определёнными навыками и определённым уровнем подготовки).

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

Но с армией да, это полный ужасный косяк. Процентов 60 студентов-мальчиков (ну а как их назвать?) в вузе только по той причине, что в армию не хочется. Если честно, то я даже и не знаю теперь, чей это косяк: государства или мальчиков. Вроде как, государство сильно смягчило условия и в горячих точках только контрактники.

2. Если в вузе нет курсов по выбору, то это, вроде как и не вуз вовсе. Они должны быть, ибо посещение студентами курсов по выбору прописано в стандартах всех программ. Каждый семестр студенты-очники должны (именно должны) посещать 2-3 курса по выбору.
Интересный взгляд «изнутри».
А не кажется ли вам, что проблемы высшего образования вызваны в т.ч. отсутствием качественного специального образования? Многие из тех, кто хает вышку, думаю, были бы счастливы получить знания именно кодирования без всего дополнительного обвеса, требуемого высшей школой.
Хотя, наверное, имеется в целом кризис образования — начиная с начальной школы и до академии наук.
Да у нас, если честно, с образованием совсем плохо. Вузы, у которых есть история и некий престиж, и Академия ещё как-то пытаются держаться… А остальное, уже в хлам.

Плюс последняя реформа образования добьёт начальную школу. А текущая реформа науки добьёт Академию.

И станет совсем печально. Образование, скорее всего, станет сильно платным, и сильно недоступным, при чём сильно отвратительного качества. Даже в Федеральных Университетах, потому что это такие гигантские пилорамы, на которых чиновники откатывают бабло на оборудовании, а до преподавательского состава дела нет почти никому… Это, если честно, пугает совсем не по детски. Потому что, если почитать нормативные документы — это реально преднамеренное уничтожение науки в стране.

И чего уж тут говорить о специальном образовании? О том, что оно такое нужно уже лет десять говорится, что ПТУ надо возрождать, пускай они хоть колледжами называются, в школах уроки труда должны быть адекватные. Всё такое… Но кто слушает? А народу нашему, такое ощущение, вообще это всё по-барабану. Ашан рядом есть — и вот оно счастье, больше ничего не надо.

Хых… Вина-то за происходящее не только на сообществе учёных и преподов, но и вообще на всех нас: на митинги не ходим, против уродских реформ не протестуем массово… Вот и получаем то, что получаем.
А, по-моему, вы не учитываете особенности системы целиком. Если разрешить свободное посещение, то как потом с человека спрашивать? Если у меня есть формальное правило: студент должен быть на лекции, и я должен у него спрашивать то, что ему рассказал, а он должен освоить эти знания. И если всё ОК, я ставлю ему отлично.

Вы знаете, вы не обижайтесь на то, что я скажу сейчас. Я таких как вы — ненавижу.

Были у меня такие преподы — немного, но были. Дед 70 лет, который рассказывал про системное программирование под DOS, про 16-битный ассемблер, по то, что «В новейших процессорах — таких как Pentium...», про то, что ".NET — это язык для программирования сетей, как следует из его названия". И который именно вот так и спрашивал на экзамене — то, что он читал на своих лекциях.

Преподаватель дискретной математике, который читал учебник и разбирал примеры из него на доске, и ни шагу в сторону.

Были и отличные преподы, знатоки своего дела, по которым было видно, что они знают предмет куда глубже и шире, чем рассказывают, и которым не требовалось подглядывать в свои лекции, которые искренне радовались, когда человек, не ходивший на занятия, рассказывал им что-то, прочитанное в книгах. Но — обычно это были преподы 45-60 лет, и всегда по математическим дисциплинам.

Вы исходите из того, что вы лучше любого студента знаете, чему и как учить. А я могу быть с этим не согласен. Я имею убеждение, что встретить в региональном ВУЗе реально мощного и прогрессивного преподавателя дисциплин вроде тех, кто я описал выше — это как встретить олимпийского чемпиона на позиции тренера сборной ВУЗа.

Книги разные? Ну так дайте список книг, которые вы «принимаете». И включите туда таких авторов, как Корман, Ахо, Кнут, Таниенбаум, Олифер, Вирт, Харрисон, Грубер… и других. Это по CS, конечно же.

Насчет работодателей? Нормальный работодатель не смотрит в то, что написано в дипломе, какие там оценки и какие курсы были. Нормальный работодатель может заинтересоваться дипломов, если это диплом МГУ, ФМТИ, Бауманки, СПГУ, ИТМО.

Видел я «работодателей», которые в требованиях к вакансии писали — «Средний балл 4.8 и выше».
Эмс… А если у нас программа отличается от книжной? А свою книгу написать — это не два байта переслать. Нет, оно, конечно, по уму, надо писать свою книгу. Но нагрузка на преподаваталей дикая, у них нет времени. Разве только в МГУ ситуация нормальная и адекватная, поэтому они книги и пишут. Это, во-первых.

Во-вторых, вы удивитесь, но мне 30, и я могу рассказать студентам про архитктуру Bulldozer. И даже научить оптимизировать именно под неё код (потому что у меня есть доступ на основной работе к инженерным образцам). И вот, на днях мы закончили с теми, кто ходит на лекции, такое обсуждение с целью постижения микроархитектурного дао. И в какой книге вы это хотите найти? Книги устаревают в наше время с реактивной скоростью — и это тоже одна из проблем. Тот же Танненбаум устарел очень сурово, даже второе издание.

В-третьих, решение о том, чему учить студентов принимается не единолично преподавателем. А, как я уже и сказал, коллегиально, при чём с участием представителей потенциальных работодателей. Слушают и тех, кому DOS — дом родной (и не факт, что их опыт не ценный), и тех, кто фигачит сайты на ASP.

В-четвёртых, нет никакого смысла меня ненавидить. Я описываю объективную реальность. То, что спрашивают с нас — с преподов и тому подобное. Лично я бы тоже хотел жить в идеальном мире, заниматься только интересными мне вещами, какой-нибудь квантово-механической-системной-информатикой, иметь в группе 8 студентов-единомышленников, и пару аспирантов. И т.д. и т.п. Но мы не в идеальном мире живём… И это, даже, наверное, к счастью.
В-четвёртых, нет никакого смысла меня ненавидить. Я описываю объективную реальность. То, что спрашивают с нас — с преподов и тому подобное. Лично я бы тоже хотел жить в идеальном мире, заниматься только интересными мне вещами, какой-нибудь квантово-механической-системной-информатикой, иметь в группе 8 студентов-единомышленников, и пару аспирантов. И т.д. и т.п. Но мы не в идеальном мире живём… И это, даже, наверное, к счастью.

Может я был резок… Извините.
Большинство работодателей не интересует, что вы знаете какой-то мудреный предмет типа: «Доп. главы уравнений в частных производных».
Им интересно, что вы смогли освоить этот курс и дать его на отлично, что говорит о вашей высокой обучаемости (причем часто в условиях «не хочу, но надо»).
Отсюда и требования «Средний балл 4.8 и выше».
«средний бал 4.8 и выше» говорит, как правило, о способности к зубрежке, а никак не об обучаемости
у меня круглые отличники дальше собеседования не проходили ни разу — самомнение зашкаливает, а навыков (что очевидно) ноль
может мне просто не везло и где-то есть «правильные» краснодипломники :)
Согласен. Когда на собеседовании спрашиваешь, где человек учился, и он с гордостью говорит, что он кончил с крассным дипломом и средним баллов 4.88, я мысленно ставлю ему минус.

Потому что скорее всего из него не выйдет творческий, пробивной, увлеченный своим делом программист. Ибо если бы он был таким — он бы в универе по ночам участвовал в топкодере, или писал с единомышленниками какие-то поделки, либо работал бы, приходил бы в универ изредка, выслушивал нотации от преподов, в итоге сдавал бы экзамены или зачеты и выпустился бы с синим дипломом, и не держал потом его в рамочке под стеклом, как реликвию.
Хотя, сейчас покопался в памяти и вспомнил двух ребят с красными дипломами, с которыми учился и которые заучками не были. Но оба двинули в науку, и с самого начала планировали в неё двинуть. Т.е. красный диплом был лишь этапом, а не самоцелью.
У меня бакалавр был со средним балом в 4.88, но без красного диплома ( лень было ).

Не знаю, мне кажется я достаточно увлеченный своим делом программист с ЗП на фрилансере 1200-1700$ ( это не фуллтайм).
:)
Сильно зависит от предмета. Поверьте, какую-нибудь «Теорию квантовых вычислений» зубрежкой не возьмешь.

Ну и тут часто проблема в другом, эти «зубрежники» (в народе «ботаны») учат в основном теорию и не имеют практики. Понятно, что когда они приходят устраиваться на работу у них нет шанцев перед средним спецом с 1 годом опыта. Поэтому работодатель предпочитает не учить ботана, а взять готового спеца, хоть и может он в перспективе хуже будет, зато мороки меньше.

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

Еще бывают люди, которые хорошо учатся по всем предметам, потому что им все без исключения предметы нравятся. Я был таким 4-5 курс. Все предметы без исключения мне нравились. Вошел во вкус так сказать :)
Я и говорю — «средний балл в районе 4х» — тут согласен.

Тройки по философии и экономике предприятий, четверки по матмоделированию и задачам управления в логистике, а так же по паре прикладных курсов типа регрессионного анализа и численным методам решений дифф. уравнений, пятерки по программерским дисциплинам + матанализ + линейная алгебра… И еще парочка. Как-то так?
Большинство работодателей как раз ИНТЕРЕСУЕТ что вы знаете хорошо какие-то отдельные предметы, которые пересекаются с областью деятельности компании и НЕ интересуют ваши знания по всем остальным предметам, и уж особенно их не интересуют как вы там сдавали предметы.

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

Вы знаете, что в огромном количестве региональных тех. вузов на 4-5 курсах ставят автоматы за одну лишь хорошую посещаемость и вовремя сданные лабы?

Обучаемость в условиях «не хочу но надо» это чаще всего бессмысленная зубрежка.

Я навидался отличниц, у которых были пятерки автоматом по реляционным баз данных, которые не знали о существовании таких вещей, как Oracle, DB2, Postgres, MSSQL, не знали таких слов как «Триггер», «Битпам-индекс», и много других вещей.

Я видел людей, у которых были 5-ки автоматом по «программированию на С++», которые не знали что такое template.

Средний бал 4.8 и выше означает что человек уделял много времени и сил посещению и сдаче ненужных бессмысленных предметов, которыми набито расписание. Мой опыт показывает, что люди, у которых красный диплом, и половина сессии сдана автоматом — чаще всего хорошо умеют делать только одно — сдавать экзамены на пятерки. Заметьте, не учиться, а сдавать экзамены на пятерки.
Я навидался отличниц, у которых были пятерки автоматом по реляционным баз данных, которые не знали о существовании таких вещей, как Oracle, DB2, Postgres, MSSQL, не знали таких слов как «Триггер», «Битпам-индекс», и много других вещей.
1) Все мы когда-то чего-то не знали.
2) Большинство таких отличниц учатся хорошо, потому что «мама сказала». Зато, они будут аккуратно исполнять простые поручения на работе, это тоже часто очень важно.
3) Унылые курсы с букваедским способом принятия экзамена — это типичный совковый метод. Однако, он дает навыки лизания жопы и работы в суровых условиях, когда делать «как правильно» — никому не надо, а надо делать «как прикажут». Очевидно, что не каждый может переломить себя, и сделать как просят, даже если это бред.

Я видел людей, у которых были 5-ки автоматом по «программированию на С++», которые не знали что такое template.
В данном случае претензии могут быть только к преподавателю. У нас, чтобы получить 5 по C++, нужно было пройти испытание сравнимое с собеседованием в Яндекс.
1) Бесспорно. Но некоторые из нас не зная, хотели узнать, а иные -хотели получить 5 за экзамен.

2) Согласен, но я бы таких в команде видеть не хотел, извините. Меня несколько таких кстати после защиты просили их порекомендовать… хех…

3) Да-да, согласен. Я однако думаю, что ценный навык лизания жопы — не то, зачем я поступал в ВУЗ и отдал 5 лет юности.

4) Завидую по хорошему тому, как у вас преподавался С++.
Да ладно вам, вы не ставили оценки предвзято?
Нет четких критериев оценки, трудно проверить знания, когда они предполагают понимание. Особенно это ярко выражено в математике: формально студенту достаточно знать формулировки и доказательства в рамках курса, но их знание не означает понимания. А без понимания эти знания не продержатся в голове и месяц.

Ну и есть спорные моменты такого рода: допустим спросили вы у студента формулу Стирлинга. Он мог ее выписать сразу по памяти, а мог вывести, скажем, за 15 минут. Какие знания ценнее? Понятно, что плохо, что студент не знает таких фундаментальных вещей, но формулу Стирлинга можно легко загуглить.

Еще спорный вопрос: студент доказал теорему не по лекциям, но правильно, или идейно правильно. Что ему ставить? С одной стороны студент забил на лекции (и скорее всего он не глупый, но раздолбай), а академическое доказательство чаще всего не просто так дается, оно либо проще своего велосипеда, либо использует определенную технику, которая сама по себе полезна и у прощает доказательство. С другой сторону формально студент доказал теорему, а значит было бы не честно не оценить его. Я склоняюсь к тому, чтобы не понижать за это оценку, но обязательно делать внушение о том, что в следующий раз может и не повезти.
Наоборот. Если он не знает и вывел формулу Стрлинга. Да даже если нагуглил и потом врубился в доказательство за полчаса. А потом его ещё и воспроизвёл и ответил на каверзный вопрос — это всегда куча плюсов в его адрес.

Лично я предвзято один раз оценку поставил. Потому что студент меня тупо (что самое обидное!) и нагло пытался обмануть. Естественно, я его завалил. Ну, я знаю, что иногда преподов (уже считающих себя заслуженными) определённые личности выбешивают, но на то же есть комиссии, оценку по действующему законодательству можно оспорить. Другое дело, что опытные преподы бесятся, обычно, весьма метко, и такие люди и комиссию (в которой уже нет злобного препода) не проходят с повышением оценки.

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

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

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

Для себя я решил, что критерии оценки должны быть такими:
3ка) Понимание предмета в общих чертах. Понимание назначения предмета. Умение решать задачи с помощью теоретических результатов предмета.
4ка) Умение доказывать основные факты из предмета. Умение объяснить нетривиальные моменты и переходы доказательства по конспекту.
5ка) Глубокое понимание деталей определений. Умение строить контр примеры «испорченным определениям» (это когда выбрасываем любое условие в определении/теореме).

При таком подходе, человек знающий на отлично очень долго не потеряет своих навыков. Чтобы получить пятерку — не обязательно зазубривать определения. Правда, при таком подходе на отлично будут сдавать те, кому это действительно надо и интересно.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
У нас был препод, который говорил примерно так:
Если я обнаруживаю повтор кода, я считаю это одной работой и делю баллы за неё поровну между всеми участниками.
У кого оригинал, а у кого копия; кто у кого списал; дал ли автор списать сам или у него украли — это мне неинтересно. Баллы делятся поровну.
Именно поэтому я даю списать с себя только после того, как сдаю работу сам. Мне не жалко, но самому страдать из-за тупо скатанных работ не хочется. Или же даю народу в pdf/офисном документе без права копипаста и залоченном на редактирование, с паролем правильным символов в 20-25. То есть чисто «на посмотреть». Конечно, это касается только электронных работ, письменные всегда вэлкам после того как я сдам экз/зачет ;)
Был у нас один такой же препод по программированию в универе, всегда интересовало как он разруливал спорные ситуации а-ля

$array = array(1, 2, 3, 4, 5);
for($i = 0; $i < count($array); $i++) {...}


=)
Достаточно задать пару вопросов вроде «в каком направлении у вас выполняется цикл?» или «что делает функция count?».
Ну это если лаба на <1000 строк кода. А когда это годовая квалификационная работа, то спокойно можно сказать: «Не помню точно». Особенно если речь идет о какой-нибудь магии с памятью.

Другой вопрос, фигли комментарии не писать, но «колхоз — дело добровольное...»
Это несерьзно, спрашивать на курсовой или дипломной работе — в каком направлении у вас выполняется цикл. На них редко кто смотрит код вообще. А на лабе… Ну исходник можно изучить списанный всегда.
Можно, конечно. И это, в общем-то, удовлетворительно. Да, типа, студент сам ничего не может написать, но хоть понимает, что в коде происходит, в администраторы может пойти. Но, блин, они ж не изучают! И даже не списывают! Просто копируют. А это совсем-совсем другое: смотрят в код и по глазам понятно — в первый раз видят. И таких, к сожалению, большинство.
Я наоборот с радостью давал всем списывать, кто просил. Надо понимать, что списавший у меня — уже мне не конкурент. ;-)
Я, помнится, давая списывать, на первых порах старался даже пояснять, что к чему, да потом махнул рукой. Полностью согласен с вашей фразой. Если же человек просто чего-то не понимает/не знает, но хочет научиться — считаю, что надо ему помогать, собственно весь процесс передачи знаний, накопленных человечеством, так и работает :)
А на счет объяснять\пояснять, даже анекдот есть такой, встречается в разных интерпретациях, вот одна из них:
Один молодой преподаватель после проведенной лекции говорит коллеге:
— Ну студенты тупые попались, ну туууупыыыые.
Раз объяснил — не поняли. Два объяснил — не поняли!
Третий раз объяснил, сам наконец понял… а они так и не поняли!
Ну, я и не претендовал на звание преподавателя — просто старался пояснить то, что сам понимал/умел, пока не осознал, что многим это просто не нужно, и они кивают головой, чтобы я побыстрее дописал решение, а они сдали зачет/лабу и ушли пить «ягу» или заниматься прочими увлекательными вещами.
Да на первых парах действительно так было, а потом когда понял, что абсолютному большинству нафиг не надо что-то понимать, стал этим пользоваться — «тебе нужна лаба, а я сегодня с девушкой в кино хочу сходить — плати деньги», в результате все довольны.

А что касается помощи человеку, которому у которого просто что-то не получается так это с радостью.
Со школы ненавидел таких сук.
Неужели в ПТУ не стало получше, сударь?
У вас всё глупые шуточки.
На основании чего вы сделали вывод, что я собственно достоин одного лишь ПТУ?
Обижаете.
К сожалению, так уж повелось, что и в универе найдутся /ребята/, которые богомерзкие такие тысячу отговорок найдут, что бы, ладно мне не дать списать, так девушкам не помогут с какой-нибудь работой. Аха, главное ведь, повыше в рейтинге быть, суки.

Спасибо за минусы, и за стадное чувство. Раньше хоть 5 минут ждал, теперь час, чтобы комментировать.
1 — Делать надо самому. Не можешь — зачем выбрал такую специальность?
2 — Девушки в первую очередь — тоже люди (привет, Кэп), и ничем в этом плане не отличаются от не девушек. Если девушка думает что она в первую очередь девушка и перед ней все только за это должны плясать — значит она в первую очередь ТП, и не стоит перед ней плясать вообще.

Представляю как подобные вам на работе будут искать у кого бы списать.
Списать вам дадут, но только один раз и единственную бумажку — ПСЖ (в лучшем случае).
1 — разрешите поинтересоваться, с чего же вы опять сделали вывод, что я выбрал не ту специальность или я не могу кодить? Или вы думаете, что я только и ищу, где бы списать? Вы меня не знаете, а делаете тупейшие выводы. Хомячковость хабраюзера — налицо.

2 — девушки тоже люди. А каждый человек, в первую очередь, человек. И у всех бывают разные случаи, почему он (человек) не сделал какую-либо работу. И пусть такой человек у меня хоть каждую работу будет списывать, мне — не жалко. Я делал для себя, для себя я пользу поимел, пусть и другие тоже её поимеют (хоть какую-то).И если вы считаете каждую девушку, которую у вас попросила списать ТП, то вы, простите, идете туда же, куда и первый комментатор.
Пусть вас лечат врачи, которые так же списывали у товарищей, которым было не жалко. Удачи.

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

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

Он аж взмок гад.
Какая ж это была сладкая мстя :)
После этого он пошел у другому сайтостроителю, и они вместе 2 недели искали где подвох?:)
Вполне, кстати, возможно :)
На выхлопе он приехал с коньяками и по мужчински задал вопрос где я его наколол.

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

Он аж взмок гад.
Какая ж это была сладкая мстя :)

Рекомендую к прочтению Лукин / Портрет кудесника в юности / Привет с того света. Весьма похоже получилось :)
Чего уж там, классика: А.С. Пушкин «Повести покойного Ивана Петровича Белкина», конкретно «Выстрел»
К своему глубокому стыду вынужден признаться, что «Выстрел» мне ни о чем (уже?) не говорит. Спасибо, буду восполнять пробел :)
в инсте код 20-30 строчек и логика несколько форов и условий, а люди не могут выявить что значат 6 переменные во всем коде, но в проекте писать я думаю это плохо
Любой дурак может написать код, понятный компьютеру. Хороший программист пишет код, понятный человеку. © Мартин Фаулер
Мало того, он может стать «известным» в своем роде и его скорей больше никуда не пригласят работать в нормальные компании — работодатель часто ищет инфу о новом работнике в Гугле или в соц. сетях или на фрилансе, где может всплыть подобный подход
Может быть автор кода, был сильно голоден?
Или просто выразил в коде высказывание «работать за еду».
Ну хоть кусок кода покажите а?
«вызов гамбургера из пиццы требует коньячку» в оригинале — «pizzas calling hamburgers and passing booze».
Я бы перевел как: «пиццы вызывающие гамбургеры и передающие им выпивку».
«пиццы вызывающие гамбургеры и передающие им выпивку».
Это имеет логику, если рассматривать это предложение со стороны алгоритмизации)
НЛО прилетело и опубликовало эту надпись здесь
как часто вы бегали на обед за эти 2 недели? :)
Буквально месяц назад я делал относительно небольшой проект, с доделки которого «соскочило» два разработчика, вот тогда я и увидел самый страшный код в своей жизни, работа там была в принципе несложная, но требовала чёткого понимания, что ты делаешь, вот они оба решили, что можно не вникая довольно быстро все сделать, итог был плачевный, мне пришлось вникнуть не только в первоначальные исходники, но и в их труды, столько позитива я не получал никогда :)
А может это был как раз нормальный программер который вник в суть процесса и дал объектам имена из реальной области, а компания, например, специализировалась на поставке пиццы и гамбургеров. А кретин как раз автор, который поменял осмысленные названия на одному Богу понятные ClfTrue, BackFalse и IsAs?
Вы сами в это верите?

const Hamburger& Pizza(Roastbeef vine, Alcohol* booze);
Хуже автора пищевого кода могут быть только программисты вообще без чуства юмора.
НЛО прилетело и опубликовало эту надпись здесь
Если человек действительно писал в таком стиле, то это уже смахивает на маразм или шизофрению.
Единственное что мне не понятно что куратор проекта сразу не дал програмеру по башке, за такие дела…
Когда-нибудь историки захотят разобраться в версиях Андроида.
По молодости доводилось поддерживать один проект на PHP. Когда я первый раз увидел код, то ходил под впечатлением еще несколько дней.

Ключевыми особенностями увиденного кода были:
— полное отсутсвие какого-либо форматирования и, в частности, отступов вообще;
— все переданные переменные были глобальными, о существовании $_GET и $_POST автор не знал (разумеется код не работал с выключенном register_globals;
— HTML был в адской смеси с PHP, при этом автор еще ничего не знал о блочной верстке и почти не слыхал о CSS (а был 2005-ый год);
— автор не знал о возможности объявления функций, да и вообще такое ощущение, что не знал о существовании части конструкций языка;
— повсюду были обращения к переменным еще до их объявления;
— переменные обзывались по принципу одному автору понятных сокращений до одной буквы, а порой и вовсе казалось, что используется переменная $b, только потому, что $a уже занята;
— еще over 9000 страстей, которые стерлись со временем из воспоминаний.

Причина всего этого и близко не стояла с обфускацией, защитой кода. Просто его aвтор был дизайнером.
НЛО прилетело и опубликовало эту надпись здесь
Вы наверное автор того ада да?
НЛО прилетело и опубликовало эту надпись здесь
Не принято, как и в любом другом языке программирования!
НЛО прилетело и опубликовало эту надпись здесь
Кто все?
НЛО прилетело и опубликовало эту надпись здесь
Есть сайт, сборник говнокода. Будете вероятно смеяться, но порой на «крутых» языках можно встретить такие «выкрутасы» что даже у РНР-холиварщиков глаза на лоб лезут.

Говнокода же и в правду пишется на РНР очень много (как кстати и на QBasic и Pascal в старые времена) потому что на них не редко пишут люди для которых это первый язык программирования (т.е опыта ноль)
Так пишут не все, а только те кто только начал изучать язык, и только в тех случаях, когда пишут хеловорд…
Ну толсто же.
Но кормят же.
Как надоело читать подобный остроумнейший и оригинальнейший комментарий под каждым рассказом о плохом коде на PHP. Или это не только с PHP так?
НЛО прилетело и опубликовало эту надпись здесь
Вы, конечно, можете указывать мне все, что вам заблагорассудится, не учитывая, насколько важны для меня ваши замечания. Увы, на хабре нельзя скрывать комментарии, и приходится знакомиться с каждым шедевром, автор которого, видимо, просто не может держать в себе свои свежие мысли.
НЛО прилетело и опубликовало эту надпись здесь
У меня даже в мыслях не было вас обзывать. Я столь же добродушно посетовал, что все не придумают новых шуток про плохой код на PHP и других ЯП.
НЛО прилетело и опубликовало эту надпись здесь
Боже, какой бред вы несете. В языке не бывает «плохого кода» (разве что в программной реализации компилятора и/или интерпретатора). Он рождается руками людей, равно и код хороший. Впрочем, дальше кормить не буду, как совершенно справедливо заметили выше, действительно очень толсто.
Вы конечно правы, но некоторые языки имеют столь низкий пород входа что любой школьник, прочитав пару комментариев своих коллег по цеху в форумах, уже готов состряпать что-то хоть и попахивающее но как-то работающее.
Я понимаю, но почему код этих школьников должен означать, что все пишут подобным образом, объясните мне? Может, я чего-то не понимаю в жизни? Какая тут логическая связь и есть ли она вообще?
конечно не все. Тут дело в средней оценке. Некий усредненный код на PHP действительно выглядит отвратительно.
Да кому нужна эта средняя оценка? У меня, например, с Абрамовичем весьма оптимистично выглядит цифра среднего дохода, но это мало что меняет.
ну вы же сами видите, насколько эта «средняя температура по больнице» влияет на общественное мнение о PHP
Может быть, людям, разделяющим это мнение, пора задуматься о восприятии окружающего мира и вспомнить, что такое логика. Впрочем, их мнение о PHP мало что меняет во Вселенной. Нормальный код продолжает нормально работать, написанный хоть на C++, хоть на PHP.
согласен. Но вас их мнение почему-то беспокоит. Кого вы пытаетесь убедить?

PS: представьте, некоему абстрактному программисту предлагают допилить некий проект на PHP. Вероятность того что он увидит эпичный школьный высер в исходниках будет выше, чем для кода на тех же плюсах, т.к. в процентном отношении говнокода среди проектов на PHP намного больше, согласны?

PPS: а как вы относитесь к Delphi?
Я никого не пытаюсь убедить. Я пытаюсь убедиться, что со мной самим все в порядке и я все еще адекватно воспринимаю действительность :) Поэтому и задаю вопросы, один ли я считаю, что неверно грести всех под одну гребенку?

Насчет процентного отношения — согласен. Но ведь, с другой стороны, шанс того, что он увидит нормальный код, также ненулевой, согласитесь.

Дельфи — хороший язык, на котором я (да и многие) когда-то писал. Он имеет немало возможностей, да и в хороших книгах о нем рассказано, как можно работать с памятью, указателями, то есть тем, что почему-то в глазах многих кажется невероятно сложным и уделом «цппшников», как некой избранной касты :) Сейчас я ушел больше в сторону веб, а в качестве десктопного кодинга полюбил C#. Как-то так.
все нормально, вы не один :)
Вот как раз в процентном отношении по-моему количество говнокода одинаково в более-менее популярных ЯП. А вот в абсолютном… :(
вот как раз таки не соглашусь. я говорил именно о процентном соотношении, которое проистекает из-за низкого порога входа.
т.к. в процентном отношении говнокода среди проектов на PHP намного больше

А теперь давайте учтём долю рынка PHP в сегменте веб-приложений вообще, а также сферы, в которых он зачастую применяется. И только исходя из этого уже можно судить, что в PHP проектах говнокода в среднем больше, чем в проектах на других языках/средах/интерпретаторах.
Кстати, вы упомянули такое слово, как «логика», и я не упущу случая бросить в php камень.

Если вспомнить, что такое логика, то на PHP писать, ой как противно. Сотни встроенных функций, логика в именовании которых отсутствует чуть менее чем полностью. Язык, провоцирующий постоянно держать открытой документацию.

Только на PHP, каждый день в мире, кто-нибудь из новичков задает подобный вопрос: habrahabr.ru/qa/4746/
Блин, в мануале по сравнению типов первым примером же дано

var_dump(0 == "a"); // 0 == 0 -> true

Человек не озаботился прочесть документацию и понадеялся на опыт, основаный на других ЯП? Его право, несомненно, но в PHP это реализовано так (что нисколько не умаляет того факта, что можно было сделать лучше/понятнее/интуитивнее).
У меня, конечно, не такой большой опыт, как у вас (впечатлился вашим профилем), поэтому я пока не могу назвать все, в чем плох PHP. Но в нем есть немало вполне нормальных моментов, и, надеюсь, он будет расти в правильном направлении.
Пускай растет, я не против, но смысла, если честно, в этом не вижу. Уже сейчас можно писать те же сайты на гораздо более приятных, логичных и красивых языках.

Когда я в 2002-ом начинал свой путь в веб-строительстве, мой выбор в основном заключался главным образом между perl и php. Последний был гораздо «моднее», ему пророчили большое будущее, и у него был синтаксис с виду похожий на любимый мой Си. Поэтому я тогда выбрал PHP. А сейчас я рад тому, что уже несколько лет ничего на нем не пишу, и видимо уже никогда не буду. И жалею, только, что долго на нем задержался, бросать писать на PHP можно было б еще парой годков ранее.

Его латают-латают, но это по прежнему остается язык, выросший из идеологии шаблонизатора, шаблонизатор-переросток.

Язык у которого все переменные заточены на интерполяцию строк, и при этом в современных больших проектах, никто эту самую интерполяцию не использует.

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

Язык, где до недавнего времени не было даже сборщика мусора нормального, и по сему большинство веб-приложений вынуждены инициализироваться на каждый запрос. А веб-приложения уже стали не такими примитивными, как было 10 лет назад. Они теперь имеют сложную логику, парсят конфиги, подключают модули, и такая инициализация теперь может отнимать, чуть ли не 2/3 от времени обработки запроса. Пустая трата ресурсов. Неоправданное увеличение времени обработки запроса.

Все плюшки, которые давал PHP для простеньких сайтиков 10-ти летней давности, с одной формочкой, которую в этом же скрипте можно было и обработать, сейчас фактически не используются. Никаких, абсолютно никаких преимуществ, сейчас у него нет и не предвидится. Зато есть много других языков, приятных, логичных, при этом имеющих профессиональное сообщество, культуру написания кода и куда более актуальную для нынешних реалий веб-разработки философию.
Порекомендуйте на основании своего опыта, в сторону чего стоит смотреть? Имеет ли смысл изучать Scala, кстати?
Scala особенно интересен Java-программистам. Моего внимания он как-то особо не привлекал, может быть незаслуженно, не знаю, но сталкиваться с ним еще не доводилось.

Имеет смысл изучать разные языки, хотя бы для расширения кругозора — это вообще очень полезно.

Имеет смысл изучать Python, как очень приятный и простой язык для быстрого написания кросплатформенных, причем как web, так и desktop, приложений и даже небольших утилит. Будущее его совершенно безоблачно. Мне очень нравится вот этот график. 2005-2006 IMHO, как раз годы, когда многие прогрессивные умы программирования смекнули «доколе?» и стали все чаще вместо php для веб-приложений выбирать другие языки, в том числе Python. До этого он в вебе применялся не так массово, и в основном рулил в прикладном секторе.

JavaScript сейчас потихоньку вторгается в мир серверного программирования, и вероятно отхватит свой кусок.

Последние полгода нахожусь под впечатлением от erlang, очень специфический и очень интересный язык, безусловно у него всегда будет своя ниша, и со временем она будет только расширяться. Этому также прямо способствуют тенденции к всеобщей параллелизации и облачности.

Если вы часто работаете с *nix серверами, то выучите наконец bash, писать небольшие скрипты на нем по прежнему крайне удобно и просто. Более-менее осилить можно буквально за день, зато в будущем не раз сэкономит вам немного времени.

Не хочу обидеть любителей Ruby и Perl. У первого безусловно есть множество сторонников и почитателей, и их количество постепенно увеличивается в том числе за счет миграции с php. Perl, как-то совсем вышел из моды, но его знают, и используют его как второй язык наряду с каким-нибудь Си множество гуру с 20-летним опытом. Я его тоже последнее время полюбил, для задач как-то связанных с парсингом текстовых массивов, он просто очень удобен, а также там, где bash-а становится мало (но тут, в серверных скриптах, его опять же теснит Python).

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

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

А самый главный язык для программиста это English.
Ага: www.youtube.com/watch?v=m_mDTLphIVY

Реальность на сегодня такова, что программист по не знающий английского и, соответственно, не читающий англоязычных блогов, статей, форумов, списков рассылки, книг — будет всегда на 3-4 шага позади переднего края технологий.
Ну, это очевидно, думаю :) Спасибо за совет, думаю в последнее время изучить Python. Также многие агитируют выучить Lisp — мол, даже если не писать на нем проекты, его знание меняет образ мышления программиста коренным образом. Кто-нибудь может что-то рассказать на этот счет?
Он прикольный… =) Опять же полезно для расширения кругозора (то же в целом и erlang-а касается). Правда я с lisp знаком очень-очень поверхностно, плотнее познакомиться никак времени не найду. Но интересный, это да.

Гораздо продуктивнее и приятнее знакомиться с языком, решая какую-нибудь практическую задачу. Но вот как-то не попадалось такого, чтобы взять и сильно захотеть попробовать сделать на lisp, какой-то он академичностью отдает. Хотя может быть это мое исключительно дилетантское в данном вопросе мнение. И даже в отличии от erlang, на котором написан самый популярный и один из самых мощных jabber-серверов, мне ни разу не доводилось работать с приложениями на lisp-е. Так, что даже и наглядного примера для изучения нет. Хотя видел я как-то jabber-сервер на lisp-е, наверное как-нибудь найду время на него посмотреть детальнее.
Подумал, оценил, что книг на русском на том же озоне про лисп крайне мало, а Common LISP, Second Edition: The Language (HP Technologies) стоит 8907 рублей, решил начать изучать пока что все же питон :), так что заказал книжку.
>>> сейчас фактически не используются
Это проблема «овериинженеринга», их можно и нужно использовать (в 99% случаях этого хватает, а 1% где реально это нужно, можно писать и на других языках)
Преимуществ может и действительно нет, если рассматривать приложения на фреймворках типа yii, symfony, django или RoR. Но и явных недостатков с каждым релизом всё меньше.

Хотя нет, сейчас для меня явное преимущество PHP — простота развёртывания типичного приложения на нём.
Вы за мной по пятам ходите? =))

Про простоту развертывания напомню. Чтобы начать писать на django, достаточно самого django и интерпретатора python. Причем в общем-то ничего настраивать не надо, а встроенный в django сервер сам перезапускается при изменении кода.

Треть среднестатистической книжки по PHP для новичков занимает настройка Apache.
+ список директив настройки php.ini
Настройка апача это вписывание трёх строчек в httpd.conf если в ваших книжках это занимает треть, то у меня для вас плохие новости, ищите другие книжки.
Треть среднестатистической книжки по PHP для новичков занимает настройка Apache.

Плохие книжки, значит.

Я вот, правда, ни одной по PHP не читал, от всех каким-то говном веет. Изучал язык по официальному мануалу и практикой (естественно, до этого я уже был знаком с программированием, в т.ч. на Perl).
Код одного сайта, написанный в 2003-м, хоть и далёк от идеального и современных представлений о веб-приложениях, но понятен, структурирован и до сих пор успешно работает без ошибок и уязвимостей.
это по прежнему остается язык, выросший из идеологии шаблонизатора, шаблонизатор-переросток.

Язык у которого все переменные заточены на интерполяцию строк, и при этом в современных больших проектах, никто эту самую интерполяцию не использует.

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

Описываете так, будто вас кто-то принуждает все эти возможности и «грязные хаки» использовать… :)

Если кто-то делает свою работу явно плохо и неправильно, используя некое средство и все допустимые его возможности, стоит ли сразу критиковать средство за некачественность, а не исполнителя?
В таком случае в 90% проектах (любой php фреймворк и большинство cms), в которых сейчас применяется PHP, он применяется не правильно.

А ZF вообще не должен был появится, ибо, оказывается ребята из Zend не знают как правильно свой PHP применять.
В таком случае в 90% проектах (любой php фреймворк и большинство cms), в которых сейчас применяется PHP, он применяется не правильно.

Вот в этом я что-то не сомневаюсь… :) Хотя, может, доля и несколько меньше стала с выходом новых версий PHP.
Большинство популярных движков действительно написаны и спроектированы плохо. То, что они как-то при этом работают — совсем не показатель.
Да, принуждают применять реалии современной веб-разработки. Когда ссылки принято делать красивыми-понятными, проекты создаются сложные и крупномасштабные, код повсеместно отделяется от представления.

Можно и дальше разрабатывать на шаблонизаторе, а можно взять язык более отвечающий современным реалиям.
Можно и дальше разрабатывать на шаблонизаторе, а можно взять язык более отвечающий современным реалиям.

Ололо!
Это какой же из двух? :)) Python или Java?
Python, Ruby, а может быть JS, erlang… зависит от специфика вашего приложения. Иногда и Си нужно по вкусу добавить.

Ну и да, если вам одну формочку на странице надо обработать, то php.
PHP достаточно универсален и удобен в использовании для своего сегмента. На нём можно писать плохой код, а можно и хороший, собственно, как и в других языках. Что ещё нужно то? %)
Мне кажется, специфика приложения (речь ведь всё равно о веб-?) никаким образом с выбором языка напрямую не связана. Расширяемость и производительность — может быть, отчасти.
Определитесь с сегментом. Я не спорю, что в сегменте не сложнее сайтов-визиток с формой контактов — php идеал. И по мере удаления от этого идеала, php подходит все меньше.
Сегмент, на самом деле, абсолютно любой. Я не считаю, что PHP для чего-то кроме домашних страничек и попсовых CMS подходит меньше любых других средств.

php подходит все меньше

Опять встроенный шаблонизатор и недостаточно унифицированные названия функций виноваты? ;)
Конечно, php универсальный инструмент, отлично подходит для создания всего и вся. У меня нет никакого желания вас переубеждать, типичные представления зашоренного php-шника так типичны.
Про всё и вся не было речи. Была речь про универсальность в сегменте веб-приложений какой угодно направленности. Если вы с этим не согласны — то хорошо бы обосновывать свою точку зрения, а не стращать теми или иными лозунгами.
И я не зашоренный PHP'шник. Просто в отличие от некоторых не поддерживаю популярный пафосный стереотип о говнокоде и качестве PHP как средства достижения тех или иных результатов.
Я просто не собираюсь писать километровые тирады, каждому адепту php, который цепляется за тот или иной, неприятный для него, коммент, оставленный мной где-либо.

Я считаю, что достаточно обосновал свою точку зрения выше. Не согласны, ОК, имеете право. У всех разный опыт, разные знания.

Пусть, не в обиду вам будет сказано. Нет желания спорить, очередной холиварчик предлагаю мирно закрыть.
peace :)
странно, не туда ответилось…
проекты создаются сложные и крупномасштабные, код повсеместно отделяется от представления.

Хотите следовать MVC — ну спроектируйте любое приложение под MVC. Как только это с конкретным языком и возможностью интерпретатора смешивать код и шаблон связано?
Не так уж и мало… С позиции Абрамовича: Вы — жена. =)
>По молодости доводилось…
>а был 2005-ый год

Быстро стареете :)
Не в смысле возраста, а первая официальная работа программистом, с трудовой, со всем. Как же не вспомнить. =)
Я с подобным PHP + AS1 кодом в одном проекте сталкивался. С php было проще, он хоть всего в нескольких файлах был, а вот as1 код был в добавок размазан по кадрам :/ Тоже вспоминаю с содроганием.
Ой, вы мне напомнили еще одну примечательную деталь. Почти весь код проекта (динамический сайт с десятком совершенно разных по структуре разделов и поиском, всего по данным индекса яндекса несколько тысяч уникальных страниц) содержался в одном файле «index.html» (там было около ~5000 строк), при этом динамические данные хранились в отдельных текстовых файлах.

Был еще одни файл, чуть поменьще — в нем содержалась вся «админка» по редактированию этих текстовых файлов.
Как ни странно, вы напомнили мой первый проект =)
БД на файлах, куча рекурсий, код смешан с дизайном… Теперь я всем начинающим показываю как делать нельзя этим файлом (13кб один файл, в котором было все)… Хотя, если честно, я сам не могу в нем разобраться, но сайт работает по сей день =)
Как не печально, но в своем проекте который я щас пишу, по началу было очень много хтмл, и небольшое отсутствие логики в некоторых местах(переменные с хтмл таблицами разбросаны по функции, и запросов к базе много), т.е код вполне читабелен, но в моментах запутан, в силу того что каждый раз приходилось внекоторых ыполнять извращенные желания заказчика :)
Возьмите же уже какой-нибудь фреймворк за основу!
))) jquery брал) А фреймворк php для энных задач, которые мне дают, просто нету смысла использовать)
… и сразу всё станет круто!
ага
написал тут один такой приложение с использованием Zend Framework, которое реализовывало одну единственную фичу: обработка формы и вывод результатов
реально необходимого кода, включая шаблоны страниц — килобайт на 10-20 отсилы
Фреймворки бывают разные. А монстр ZF довольно страшен уже сам по себе.

Человек описал проблему, которую и решает обычно порядочный фреймворк: организовать код.
Организацией кода обязан заниматься программист, а не чудо-фреймворки.
Конечно, любимое развлечения любого php-программиста — писать свой фреймворк.
а я пишу конкретные приложения, странно… %)
А еще после этого, этот чудо-программист, сам организующий свой код, по одному ему известному принципу, должен написать документацию по тому, как он этот код свой организует. А новая команда программистов, и коллеги, должны изучать, то, как этот чудо-программист свой код организовал.
Использованием чьих-то фреймворков вы частично перекладываете эти задачи на чужие плечи? :)
Конечно, код без структуры и хотя бы минимальной документации трудно назвать хорошим. Но это скорее зависит от организации труда на местах и профессионализма разработчиков, нежели каких-то сторонних факторов.
Если мне нужно подправить что-то в проекте на известном мне фреймворке, исправить и найти ошибку, или дописать функциональность, то с 90% вероятностью, я знаю где искать и что править, куда дописывать.

По-моему, кроме php, больше не осталось языков, где по сей день строятся сотни велосипедов.

На этом, спор использовать или не использовать фрейморк, считаю оконченным. Хотите поспорить, для этого есть еще сотни других мест, и сотни других людей, которым нечем заняться.

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

Модное течение и всеобщая истерия на тему MVC? :)))

Еще раз, повторюсь, если ваш проект заключается в обработке парочки форм, то и фреймворк вам скорее всего не нужен.

Смешно. :) Использование/неиспользование фреймворков определяется некой «сложностью» проекта..?

Ну да ладно.
Использовать или не использовать определяется по меньшей мере 10ом факторов. В посте, на который был мой комментарий, есть симптомы при которых стоит задуматься об использовании.

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

Вы кроме MVC других архитектурных подходов не знаете? Есть книжки, берите, читайте.
Подходы знаю, но не всегда использую, и не считаю, что это хоть сколько-нибудь вредит качеству. Такой вот wilderness.
Вы слишком серьёзный. ;)
От внештатной работы же отвлекают спором про php, ну как так можно? ;)
походу вы конкретно ошиблись
Я использую множество языков в работе. Множество подходов к архитектуре. Использую, и не использую, фреймворки в тех или иных проектах.

Вы завязали дискуссию с чистого троллинга, сожалею только, что повелся. Никто не обещал, что станет «круто». Принимать конечное решение должен архитектор, изучив, конкретное ТЗ. А круто будет, при правильном и грамотном применении.

Ваш друг, видимо, выбрал не тот фреймворк, не так применил, не в той ситуации — всё сразу, или что-то из 3-х по отдельности.
Все топики про недостатки чего-либо потенциально троллинговые. :)

Не друг, коллега скорее. Выбирал, я так понял, из расчёта привычности для себя. В итоге, правда, это встало костью горле для всех остальных.
Это фигня — я вот как то видел код с обратными отступами:
for i=1 to 10
if i>0 then
ENTRY бла-бла-бла
end if
next


Вот тогда у меня мозг чуть не перезагрузился
хотел привести пример кода и не тот тег вставил:

              for i=1 to 10 
        if i>0 then 
ENTRY бла-бла-бла
       end if
              next

Однако! Автор — большой оригинал. А если при очередной конструкции нужно еще больше отспут сделать? Индентится весь код файла? :)
Ну такого кода там было несколько страниц. В некоторых местах отступы были нарушены, судя по всему по причине, которую Вы назвали. Но в дальнейшем этот код пришлось сопровождать мне. И я его переидентил как надо
в моей любимой IDE есть кнопочка re-indent code.
да и вообще всяких форматирователей и стилизаторов кода хватает.
Это было в 2004 году, да и язык там был специфичный (типа бейсика, но не бейсик)
Назывался nohtyP?
Не, в nohtyP это фричество отрубается на уровне компилятора. Тут ABV во все поля.
Может араб писал?

Кстати меня всегда занимал вопрос — как же наверное тяжело писать код носителям языка с письменностью право-налево. Арабам. Ведь мозги же кипят наверное
Это были некие тети лет 45
может это какие арабы или евреи писали? :)
Вы не об этой CMS WCPS говорите: zip.wcps.ru/wcps/wcps-5.2.tar.gz? Из нее любой кусок кода под ваше описание попадает, правда что переменные не всегда одной буквой названы, а иногда еще и транслитом.

Особо радует описание на сайте:

> Работает при register_globals = off;

Ну да, теперь они переменные пишут через $GLOBALS

> Аудентификация пользователей по средствам сессий и куков;

Что такое аудентификация?
Нет, не о ней. То была сугубо самостоятельная поделка человека, который работал там до меня. И там были такие вещи, как: $a="и тут прямо контент страницы, несколько килобайт"; и это где-то в серединке несчастного index.html, который по своей структуре (если это можно так назвать) представлял из себя if (условие) {одна страница или раздел сайта} if (условие 2) {другая страница или целый раздел} и т. д. еще 5ок раз. Внутри этих if-ов были вложенные if-ы, характеризующие всякие подразделы и «исключения из правил».
Причем, нет-нет, все это было сделано не для ЧПУ. Все ссылки представляли из себя:
http://site.ru/?c=2&d=423&e=2
Проблема изначально вытекает из того, что PHP допускал (посредством всех этих register_globals, magic_quotes и прочих костылей для нубов) написание особенно кривого кода. Но ничего, придут времена повального распространения PHP 5.3 и 6, и всё накроется, я надеюсь. :)
статью стоило назвать «Самый вкусный код в моей жизни»
Статья тоже вкусно написана:

>>в таком винегрете из кода.
>>лапша в коде делала его гораздо более сложным
автор статьи тоже потихоньку начал сходить с ума…
никогда в коде не видели переменные типа qwe1, ert4, asdfasdfas2?
больше доставляют переменные типа «stroka, knopka, nakladnaya, ot4et»
Я кушать захотел
выражения «спагетти код» и «винегрет из кода» — раскрылись для меня в новых смыслах :)
наверное, это самый подходящий топик для комментария «хабр — торт» ))
Если не ошибаюсь, Хабр уже коньяк :)
так можем договориться до порождения университета Беркли, но не BSD :)
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
(с ) Стив Макконнел.
Ну, разве от страшного получают удовольствие? Наверное «страшно-интересный код»! :)
а комнаты страха?
а всякие прыжки с водопадов и зданий?
а цельная индустрия БДСМ (мог и ошибиться в написание) в конце концов?
:))) Не, всё правильно написал!
У меня тоже история из жизни =)

У нас в команде как-то был кодер, который все переменные/функции в javascript-программах называл a1, a2, a3, b1, c1 и т.д. — несмотря на наличие code conventions. По ночам мы рефакторили его код, давая функциям осмысленные наименования, а по утрам он восстанавливал свой бэкап.
Мы спрашивали его:
— Зачем Вы так делаете, Георгий?
А он отвечал:
— А вдруг мне придётся диктовать программу по телефону?..
В этом мире много странных людей и такое, на самом деле, не такая уж и редкость…
Кто первый напишет сервис — foodfuscator? Just for fun.
Любой более-менее стоящий обфускатор это может: хоть едой назвать, хоть именами из области ядерной физики — список задаете сами.
Этому программисту стоило бы зарплату выдавать томатами с кукумберами, может тогда бы он понял смысл жизни.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории