Программисты

Обсуждаем технологии и тенденции. Теорию и практику создания софта. Как работать правильно и как не работать неправильно. Ну и, конечно, программирование - это не только работа, но и развлечение. Шутим и оттягиваемся, как можем ;) people.select { |p| p.likes? :programming || p.does? :software_development }.invite_to(groups["Программисты"]) (http://poignantguide.net/ruby/index.html)



Правила конференции





 

Денис Валентинович Рысцов

пише?4 января 2007 в 22:07

eval [set B {puts "eval \[set B {$B}\]"}]

Николай Дмитриевич Тришин

пише?10 января 2007 в 14:18

#include <stdio.h>
int main(void)
{
printf("SMILE =)");
return 0;
}

Витольд Седышев

пише?11 января 2007 в 15:50

Дорово программеры! Так как это клуб по интересам предлагаю товарищи выложить свои разработки и заценивать по мере изучения.

Николай Дмитриевич Тришин

пише?12 января 2007 в 15:56

А если не секрет, то прграмму в тысячу строк ты на стену выкладывать собираешься?)))

Денис Валентинович Рысцов

пише?12 января 2007 в 16:38

Думаю есть и в пару строк, но интересные. Как тебе моя от 4 янв?

Витольд Седышев

пише?12 января 2007 в 22:48

2Николай: Современные программисты, что не в состоянии завести себе каталог на NAROD.RU? Или все тут принципиальные?

2Денис: где ее псомотреть?

Денис Валентинович Рысцов

пише?12 января 2007 в 23:01

eval [set B {puts "eval \[set B {$B}\]"}]

Михаил Голуб

пише?14 января 2007 в 15:30

а что она делает? :) на каком она языке? и за сколько ты поймешь ее смысл через месяц в 3 часа ночи спросонья после большой пьянки? :)

Денис Валентинович Рысцов

пише?14 января 2007 в 18:08

После большой пьянки, такой код меня хорошо протрезвит:) А месяц уже прошел.
Пару месяцев захотел побаловаться с TCL, и начал писать стандартные программы (hello_word, quick_sort, и прогу, которая печатает сама себя, вроде она квайном завется). Писать тупые кальки не хотел, поэтому решил минимизировать квайн до одной строчки. Как оказалось результат не плох - по длинне кода II место среди квайнов среди TCL на (http://www.nyx.net/~gthompso/quine.htm).
Так как к хороший проге нужно писать комменты, посылаю за ними на shai-xylyd.livejournal.com

Предлагаю конкурс на то, кто напишел прогу с минимальной длинной на C подобном языке (мера кода - ";"). Которая читает строку с консоли, если она равно "exit" выходит, иначе печатает на экран.

Михаил Голуб

пише?14 января 2007 в 19:13

Имхо это сильно оторвано от реальности.. языки разные и библиотеки у них разные..

вообще все равно выйграет perl :)

Денис Валентинович Рысцов

пише?14 января 2007 в 20:19

Оторвано от реальности
Гы #1. Если ты про язык TCL, то ты не прав. Я работаю в компании motorola, и пишу на нем.
Гы #2. Если ты про hello_word, quick_sort и квайны, то это просто разминка для мозга, что бы он работал
Гы #3. Если ты про библиотеки, то их существует тьма на C или на C++ с C интерфейсом, и каждай следующая платформа в целях совместимости должна поддерживать C интерфейс. Мы это видем и с JNA в Jave, если это так называется, и с MC++ в .NET'e. Такая же ситуация и с TCL, когда мне понадобились библиотеки .NET, я без труда связал TCL и .NET.

Как насчет конкурса, я выбираю c#

Михаил Голуб

пише?14 января 2007 в 20:34

Про tcl: я на нем даже писал.. скрипты под IRC-бота.. года 2 назад.
про библиотеки: именно, есть язык, где helloworld - 1 буква: h.
А в Java нужно завести как-минимум класс и статический паблик-метод.

JNI в Java, подозреваю, как и MC++ в .NET совсем для другого. Просто не все могут предусмотреть разработчики в виртуальной машине и иногда приходится писать платформозависимые вещи. Иногда, кстати понятие относительное. Моему знакомому за 12 лет ни разу не пришлось :)

На счет задачи, на Java я такое менее, чем строк в 7 не распишу :)
На других языках подумать надо... ну строчки 2 минимум.. собственно считывание и тернарный оператор.. это в чем-нибудь перлоподобном..

Денис Валентинович Рысцов

пише?16 января 2007 в 1:11

Гы. Я написал эхо на c# в одну строчку (в одну ";") Минимум - одна строчка
class X {
static void Main(string[] args) {
while ((args = new string[] {System.Console.ReadLine() })[0] != "exit") {
System.Console.WriteLine(args[0]);
}
}
}

Денис Валентинович Рысцов

пише?16 января 2007 в 11:50

То, что ниже это так игра ума, но есть абсолютно реальная задачка. Например, вы пишите код, и ни хотите, что бы его не мог никто прочитать. (Можно назвать это обфускацией, но так как большинство обфускаторов говно, т.е. можно с отладчиком посидеть и добраться до сути, я не люблю это слово.)
Код на javascript. Часть кода надо зашифровать, эта часть кода очень короткая (две строчки) и состоит из двух действий A и B. Действие A не секьюрное, то есть тот, кто читает и разбирает код должен поверить, что зашифровано именно действие A, но о том, что есть действие B он не должен даже и думать. Пусть, для наглядности есть следующий код.

A(123,123);
B(45,345);

пусть функции A,B определены, надо зашифровать вызов функции B (создать иллюзию, что вызывается только A)

Денис Валентинович Рысцов

пише?16 января 2007 в 11:51

есть идеи как это сделать?

Михаил Голуб

пише?16 января 2007 в 15:30

А что ты пишешь? У тебя копия программы стоит 1k$? Или ты продаешь ее массово, как Windows XP?
Программы нужно защищать лицензией. Кому нужно, обойдут защиту.

А то, что ты написал. Я конечно после бессонной ночи и 6-ти часовой сдачи экзамена, но если твоя программа может расшифровать этот вызов и вызвать функцию B, что мешает это сделать взломщику?

Хотя.. вечерком подумаю, как голова придет в порядок.

Денис Валентинович Рысцов

пише?16 января 2007 в 21:13

Есть теорема о том, что не существует алгоритма, следуя которому можно определить зациклится программа или нет. Это, конечно возможно не так, но мне эта задача (зацикливается или нет) кажется изоморфной моей запустится процедура B или нет.

Антон Павлов

пише?19 января 2007 в 14:07

Требуется PHP-программист со знанием AJAX на постоянную удалённую работу.

Только Питер.

Подробности по запросу.

Михаил Голуб

пише?21 января 2007 в 16:10

2 Денис Рысцов: поясни. Про проблему останова конечно помню. Но вот изоморфной твоей задаче оно мне не кажется совершенно.

2 Антон Павлов: А вы можете нормально составить вакансию, если здесь ее постите?

1. Где вилка?
2. Какой опыт?
3. Кто работодатель?

И в добавление: сорри, если буду слегка грубоват, может к вам это и не относиться. В жизни не поверю в любимую отговорку HR: зарплата обсуждается с каждым соискателем отдельно и ничего более мы сказать не можем.
Я это обычно читаю так: зарплата ниже рыночного уровня, но мы вас всячески будем уговаривать остаться на собеседовании.

Борис Ярцев

пише?21 января 2007 в 17:29

Всем привет!

Олег Андреев

пише?22 января 2007 в 22:20

Насчет обфускатора:

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

Мораль: любой обфусканный код можно прочитать. Тому, кто понимает, что ищет, не составит труда это сделать (знаю на своем опыте).

2. Задача вскрытия кода начинается с объявления суммы $ и времени t, за которые код не должен быть вскрыт. Алгоритм игры в прятки очень сильно зависит от этих двух параметров.

Павел wr.HunTeR Белов

пише?24 января 2007 в 9:02

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

Павел wr.HunTeR Белов

пише?24 января 2007 в 9:03

сорри, забыл написать, Смарт, у меня на WinCE.

Михаил Голуб

пише?24 января 2007 в 9:06

А что там за ОС?
Или вам вообще под JME?

Под Windows Mobile есть .NET Compact Framework, под Symbian пусть кто-нибудь другой подскажет :)
Под JME (Java Mobile Edition) можно сходить на forum.juga.ru, там большой контингет JME-программистов, которые подскажут с чего начать.

Павел wr.HunTeR Белов

пише?24 января 2007 в 10:42

я же написал, там Windows CE (Win Moobile)
щас буду искат ьи качать .NET Compact Framework
(правда вроде уже пробовал качтаь, с этим у меня возникли проблемы ранее, щас попробую ещё)
спасибо!

Витольд Седышев

пише?25 января 2007 в 0:14

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

Денис Валентинович Рысцов

пише?25 января 2007 в 0:30

2 Павел Белов
Поставь себе студию, с ней веселее, а сам .NET Compact Framework тебе не даст возможности кодить - SDK нужно. В студии есть, хотя она денег стоит, но я думаю мы все здесь пираты(
Себе и на работе под КПК я пишу, на .NET'е. А так поставил TCL и Caml еще, благо они портированы.

Денис Валентинович Рысцов

пише?25 января 2007 в 0:31

Вроде студию экспресс можно - она бесплатна, но я не уверен, что в ней можно под КПК писать.

Санек Корунов

пише?25 января 2007 в 0:57

С экспрессом не общался, а сам юзаю триал + программка в 10 строк, которая этот триал запускает (все, что программка делает - ставит год на 2005, запускает студию и ставит год обратно ^_^) =) единственное что - когда на С++ пишу, надо в каждом проекте поддержку CLR включать. По сути интересные люди в майкрософте работают - единственное ограничение, с которым я столкнулся в триале - это отключение по дефолту некоторых полезных фич, чего исправляется постановкой галочек где надо ^_^. А триал я думаю найти не проблема ))

Павел wr.HunTeR Белов

пише?25 января 2007 в 10:00

да вот вчера начал лазеть по микрософт.ком...
скачал всё что там требовали (и .НЕТ и СДК и ещё какойто вижуал си)
а студия у меня есть...лицензия. точнее не у меня, мне давали, а я болванил. как и 2003, так и 2005, хотя уже не помню, может 2005 нет, не стал переписывать, т.к. мне 2003 хватало...

Василий Трофимчук

пише?27 января 2007 в 21:08

И кстати PasCal FoReVeR из Политеха, а не "школьная группа любителей паскаля". Прошу администрацию изменить эту надпись.
;)

Витольд Седышев

пише?28 января 2007 в 4:10

2005 студия есть халявно на сайте майкрософт. Правдо несколько урезанная версия. Но для классических окошек сойдет. А особой необходимости в поддержке многоядерных процов пока не видел. Тем более под Windows =))) А ограничения визардов обходяться удалением визардов нахрен =)))))

Павел wr.HunTeR Белов

пише?28 января 2007 в 12:40

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

Олег Андреев

пише?29 января 2007 в 12:46

Уважаемые девушки! Эта группа существует для того, чтобы 1) дать возможность пообщаться на общекосмические темы и познакомиться с грамотными людьми (нам с вами, а вам - с нами), 2) познакомить с другими, более специальными темами, список которых расположен справа, и продолжить разговор там ;-)

Короче говоря, добро пожаловать!

PS. Админы, чтобы девушки вас нашли, нужно самим их искать. Около 25 девушек я уже пригласил (к этому моменту у нас 54 участника). Вы тоже не оставайте; сделаем уникальное: самое женственное инженерное сообщество! :)

Михаил Голуб

пише?29 января 2007 в 13:55

Олег, а как ты их ищешь? я в список приглашенных девушек смотрел... ни слова о программировании.

Михаил Голуб

пише?29 января 2007 в 14:01

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

Олег Андреев

пише?29 января 2007 в 14:09

Как это? Я по поиску "программирование" в списке интересов их нашел.

Михаил Голуб

пише?29 января 2007 в 14:11

А.. я по двум первым девушкам судил только... а у них в интересах ни слова.
Видимо это не ты приглашал.

Олег Андреев

пише?29 января 2007 в 14:26

"Почему изучение Хаскелла или Питона делает вас хуже, как разработчика софта":
http://lukeplant.me.uk/blog.php?id=1107301645

Человек переживает, что написание функционального кода нечитаемо. Приводит ужасные примеры на Си#, где пытается писать как на Питоне. Примеры кода на самом Питоне и Хаскелле, надо сказать, не более читаемые. Ему в комментариях приводят примеры аналогичного кода на Руби, что очень веселит, потому что последний - самый простой и понятный ;)


Михаил Голуб

пише?29 января 2007 в 14:35

Все ниже разумеется имхо:
Все просто. Человек не разобрался в технологии и делает заявления космического масштаба и космической же глупости.

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

А потом начинаются высказывания: java тормозииииит (так какого строки, которые есть константы, складывает не через StringBuilder? GUI виснет (о таком явлении, как event-dispatcher thread тоже человек не слышал), ну и так можно про каждую технологию сказать. Я просто с остальными слабо знаком.

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

Олег Андреев

пише?29 января 2007 в 14:48

Не-ее. Дело не в конкретных технологиях, а общем подходе. Он, допустим, знает Хаскелл, Питон, Си# очень хорошо. Но зачем их перемешивать?

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

Хороший инженер не обязан знать все детали, но он должен знать "принцип действия" и, исходя из этого, уметь находить грамотные решения. Детали приходят с опытом сами.

Михаил Голуб

пише?29 января 2007 в 14:53

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

Или вот я познакомился с groovy. Прекрасный язык, но после Java с ним тяжело работать, потому что много своих концепций, вроде тех же closures или функционального программирования, с которыми я ранее не знаком.. и не привык работать.

Олег Андреев

пише?29 января 2007 в 15:08

С другой стороны, если программируешь микроконтроллер с 512 байтами (по 12 бит) под прогу и 25-ю 8-битными регистрами (оперативка, типа), то язык Си - это верх совершенства. Он столь же гибок, как и асм, но код почти не надо комментировать - все и так понятно. И никакая Джава тут не поможет - не тот масштаб.

Олег Андреев

пише?29 января 2007 в 16:26

Захотел написать про свой SmileScript 3,5-летней давности. Пошел в Гугл и нашел вот что: http://ru.wikipedia.org/wiki/Smilescript :) Подумать только!

Сама радость здесь: http://subway.net.ru/projects/php/smilescript/index.php

Михаил Голуб

пише?29 января 2007 в 16:53

укажи кодировку в <head><meta /></head> на странице.. А то огнелис ее неправильно понимает..
А вообще.. респект! :) Не каждый придумывает ЯП, пускай и эзотерические.
Правда еще толком не смотрел, сделаю это вечером.

Олег Андреев

пише?29 января 2007 в 22:45

SmileScript - очень простой язык. До уровня Си даже не дотягивает (стека нет, например). Но посложнее brainfuck'а, хотя и непонятно, хорошо ли это.

Андрей Кузнецов

пише?30 января 2007 в 11:54

Помимо идеи создания ЯП должен ещё быть смысл в этом нет?

Олег Андреев

пише?30 января 2007 в 13:43

Я разбирался как работают компиляторы.

Юрий Подгорный

пише?30 января 2007 в 23:28

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

Юрий Подгорный

пише?30 января 2007 в 23:30

Чуть не забыл - это на С++.

Санек Корунов

пише?31 января 2007 в 0:54

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

Олег Андреев

пише?31 января 2007 в 8:27

Файл CSV/TSV или бинарник с полями фиксированной длины?

Юрий Подгорный

пише?31 января 2007 в 13:02

Файл - обычный txt, создающийся на месте в блокноте.
Александр - не уверен. это задание конца 1 семестра 1 курса. все предельно примитивно требуется реализовать.

Олег Андреев

пише?31 января 2007 в 16:42

Еще раз, тогда: какого формата файл. Если неизвестно, какой формат файла (или страждущий не понимает что это такое), то и разговаривать не о чем.

Ладно, справка по доброте душевной:

TSV - tab-separated values (таблица с одинаковым количеством полей в каждой строке, поля разделены табами, а строки - переносами строк)
CSV - comma separated values (то же самое, но разделитель - запятая; в общем случае, хоть буквой зю разделяйте)
Есть еще XML и YAML, но вам, видимо, не до таких сложностей ;-)

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

Итого (это не работающий код, еще нужны инклюды, юзинги и детали алгоритмов; а также разбиение на .h и .cpp):

class Product
{
private:
int article_id;
string title;
string type;
int quantity;

public:
Product(int article_id, string title, string type, int quantity)
{
this->article_id = article_id;
// etc.
}

int get_article_id() { return article_id; }
int get_...() { return ...; }
...

static vector<Product> from_TSV(const char* file_nam

Олег Андреев

пише?31 января 2007 в 16:42

Хе, само обрезалось :)

Михаил Голуб

пише?31 января 2007 в 16:46

Если неизвестно, какой формат файла (или страждущий не понимает что это такое), то и разговаривать не о чем. //цитатка вот

Я тоже не понимал, что это такое :-D. Раньше встречал CSV, думал это какой-то формат, вроде базы данных. Никогда не интересовался, спасибо за консультацию.

Руслан Галинский

пише?31 января 2007 в 18:06

Вопрос: что можно обсуждать в группе?

Олег Андреев

пише?31 января 2007 в 18:17

2 Михаил: Дело не в CVS. Дело в том, что не бывает "просто текстового файла". Всегда есть 1) разметка (бинарная или текстовая), 2) кодировка текста (если есть текст). Без этих двух знаний спрашивать о поиске данных не имеет никакого смысла.

Для справки: у форматов EXE, ELF, PSD, JPEG, HTML, CSV, .XLS есть разметка и, когда нужно, указана кодировка текста (а нужно для тегов в PSD/JPEG, текста в HTML, CSV, XLS). Если кто кодировку не указал, значит там должно быть UTF-8. И точка. А если не указал, и кодировка не та, то он совсем нехороший человек.

2 Руслан: все по программированию вообще. Упражнения конкретно по Джаве - в группу Джавы. Каталог справа. Если, однако, упражнение по Джаве имеет общечеловеческое значение, то его желательно привести здесь. Надеюсь, вы поняли, о чем я :)

Руслан Галинский

пише?31 января 2007 в 19:07

я понял. Тогда упражнение ) : есть функция шаблон(очень большая), я передаю тип T, но в некоторых местах могут происходить type overflow, существуют ли какие либо средства узнать конкретно по ходу выполнения кода что это за тип. Например что нить типа (C ) if(<T> == <int>) ... ???

Михаил Голуб

пише?31 января 2007 в 19:11

Олег, куда-то тебя не туда понесло :)
Или ты так..семинарчик решил провести?

Михаил Голуб

пише?31 января 2007 в 19:24

Даю вредный совет (На C (исходя из твоих интересов) сложнее HelloWorld я не писал):
Есть такая штука RTTI (RunTime Type Identification), через нее это делается. Как это делается: видимо лучше узнать тебе самому (там какие-то грабли с поддержкой разными компиляторами)

Полезный совет: не допускать таких вещей, если это возможно.

Руслан Галинский

пише?31 января 2007 в 19:28

Спасибо.Я писал С , это у вас обрезала. А так мне просто и самому неикогда не приходилось делать ничего подобного, просто так получилось...это не мой код, совместный поэтому так и вышло (((.

Руслан Галинский

пише?31 января 2007 в 19:28

СИ ПЛЮС ПЛЮС, у вас плюсики обрезает )

Руслан Галинский

пише?31 января 2007 в 19:34

А увас нейросети обсуждать можно?

Олег Андреев

пише?31 января 2007 в 20:08

Конечно! Можно всё.

Руслан Галинский

пише?1 февраля 2007 в 12:30

Товарищи! Помогите разобраться, пожалуйста , что делает vector.(СИ ПЛЮС ПЛЮС)

Олег Андреев

пише?1 февраля 2007 в 21:18

Ну, что, горе-программисты? :) Ударим юникодом по безграмотности?

Всем сюда: groups.php?act=s

Руслан Галинский

пише?1 февраля 2007 в 23:23

В каком смысле?

Олег Андреев

пише?2 февраля 2007 в 9:16

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

Михаил Голуб

пише?2 февраля 2007 в 9:52

а как ты себе представляешь изучение юникода?

Олег Андреев

пише?2 февраля 2007 в 13:27

Как минимум - прочитать и вникнуть в те статьи, которые ты, я и Николай Дуров повесили в группе про utf-8. Ну а потом исправлять свои программы, так ведь?

DELETED

пише?2 февраля 2007 в 17:06

utf 16 рулит, utf 8 юзает, но хоть он и альтернативный

Михаил Голуб

пише?2 февраля 2007 в 17:10

Вика, а можете пояснить: чем рулит utf-16, и всю оставшуюся часть фразы после первой запятой :)

Саня Поляков

пише?3 февраля 2007 в 18:58

кто хорошо разбирается в компах..нужна помощ...

Александр Михайлович Кузнецов

пише?4 февраля 2007 в 15:44

Тут вот справа дотнетчиков явно не хватает, так я исправил, ага :wow:
club5651

Михаил Голуб

пише?4 февраля 2007 в 18:36

да.. я даже удивился, и чего дотнетчики такие неактивные :), когда искал группы

Михаил Голуб

пише?4 февраля 2007 в 18:38

Саня Поляков: к сожалению телепаты в бессрочном отпуске, а мы люди простые... в-общем было бы неплохо, если бы ты все-таки вопрос задал.

Александр Михайлович Кузнецов

пише?4 февраля 2007 в 21:05

Размахнись, рука! Ещё одна группа.
club5835

Олег Андреев

пише?4 февраля 2007 в 22:04

ActionScript guys: club5760

Александр Соболев

пише?7 февраля 2007 в 16:31

немного разбавлю:):

салат "Рекурсивный" : помидоры, огурцы, салат

Олег Андреев

пише?7 февраля 2007 в 17:36

Повторяетесь, товарищ.

Александр Соболев

пише?7 февраля 2007 в 19:30

в чем? на стене такой записи нет:)

Олег Андреев

пише?7 февраля 2007 в 22:16

Ой, не надо, а? :)
Насколько я знаю, в старые времена за постинг в несколько веток банили нещадно. [Но это в старые времена, а здесь - просто флудерское местечко :]

Кстати, анекдот навел на мысль о продолжении моего Ruby-DSL. Салат-компонент может означать не составной салат, а, например, "кресс-салат". Т.е. рекурсии не будет, хотя имена одинаковые. Поэтому анализатор естественного языка должен будет подобрать более подходящее значение в зависимости от контекста. Так, "салат", состоящий из деталей - это точно "составной салат", а как часть чего-то он тоже может быть, но тогда получается рекурсия. Поэтому подбирается альтернативное значение.

Борис Ярцев

пише?10 февраля 2007 в 1:22

Товарищи программисты! Не все из нас являются мега гуру! некоторым до этого еще расти и расти - для таких появилась новая группа (это прикол) - club7275

Олег Андреев

пише?10 февраля 2007 в 17:19

Статья Ричарда Гэбриэла "Объектная парадигма провалилась". Мнение провокационное, и большей частью разумное. Также читайте комментарий редактора (ниже).

http://bugtraq.ru/library/programming/objectshavefai...

Денис Боровиков

пише?18 февраля 2007 в 19:53

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

Олег Андреев

пише?18 февраля 2007 в 20:56

ООП - не технология, а стиль работы с кодом.

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

1. Вот как на выбор стиля влияет задача. Когда вы описываете модели ваших объектов - вам нужен императивный ОО-язык. А когда вы беретесь за написание вычислительного алгоритма, вам нужен функциональный язык.

2. А вот, как влияют обстоятельства. Вы пишите драйвер для очень маленького устройств, столь маленького, что у него 32 байта оперативки и 512 байт однократно записываемой памяти под программу. Вы не можете позволить себе абстрагироваться от технических ограничений, поэтому вам нужен язык, который позволит "видеть" эти ограничения. И вы берете язык ассемблера, в котором используете goto/jmp без всякого переживания насчет bad design practices. С другой стороны, когда вы пишете очень большую и сложную бизнес-логику, вам жизненно необходимо абстрагироваться от каких-либо машинных представлений или ограничений библиотек, которые вы используете.
Вам, по существу, нужен свой собственный язык для описания процессов. Базироваться он может на АОП, ООП, функциональном стиле программирования, или на них всех сразу.

Критерием качества кода может служить его читаемость. Если то, что написано, явно отвечает на все возникающие вопросы - перед нами идеальный код. Часто ответы на многие вопросы содержатся "между строк" программы (неявно, то есть) и в автоматических тестах.

Йа Хо-Хо Катушечко

пише?21 февраля 2007 в 15:00

ООП - это парадигма. Есть еще процедурная, логическая или функциональная. Последняя стала набирать обороты. Так что
>которой альтернативы на практике нет
-не правда.

Жежечка Адельшина

пише?21 февраля 2007 в 17:21

СРОЧНО:
В крупную торговую компанию требуются Программисты 1С 7,7 и 7,7 и 8,0.
Основные обязанности:
• Оптимизация программных процессов
• Консультирование по программе 1С
Требования:
• Высшее образование
• Технический английский
• Знание 1С: Предприятие (Производство, Бухгалтерия, Торговля, Склад, Кадры)
• Опыт работы от 1 года
ЗП от 900$, соц пакет, питание, оформление, известная компания.

Витольд Седышев

пише?24 февраля 2007 в 15:31

Программист 1С. Не смеши. Так и пиши нужна секретарша, которая понимает как печатать текст. И надоели вы уже своим 1С тащите деньги и все.

P.S. Сколько помню 1С ничего хорошего не сделали.

Игорь Коноплянко

пише?24 февраля 2007 в 15:40

Народ ! зацените прикол ;) !

void main()
{
int a=5;
//знаете ли вы что 2*2=5 ? :-\
a=2*2;
printf("%d",a);
}

Алексей Добромыслов

пише?25 февраля 2007 в 1:55

Рад за число 100+, но все-таки предлагаю уважаемым программистам работать в новом формате.

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

Но могу помочь начинающим программистам, чье рвение и инициатива явно перевешивают знания и навыки.

Для вас запущена в бета-тестинг группа ПРОГРАММИСТЫ под эгидой СТУДЕНТЫ.РУ. Там начнется реальная работа и обучение - ваши идеи, критика и предложения приветствуются!

Олег Андреев

пише?25 февраля 2007 в 10:37

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

PS. Тут никакие группы не "работают". Здесь всего лишь пишут объявления, рассказывают байки и отвечают на вопросы, не более того ;)

Михаил Голуб

пише?26 февраля 2007 в 15:38

Алексей, интересно как вы собираетесь это делать и как быстро у вас пропадет энтузиазм :)

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

Олег Андреев

пише?6 марта 2007 в 19:00

Короче говоря. Я заметил, что здесь тусуется большое количество начинающих программистов. Поэтому хочу дать добрые, дельные, 100%-верные советы:

1. Хороший программист должен быть самостоятельным. Google, wikipedia, хэндбуки, книги, мануалы, комментарии в исходниках - к вашим услугам. Самому разобраться в проблеме и заглянуть чуть дальше - во много раз эффективней, чем получить быстрый рецепт. Пока вы питаетесь быстрыми рецептами, ваша образованность не растет, а резюме не дорожает.

2. Хороший программист должен быть быстрым. Вы можете долго думать над алгоритмом, но придумав, вы должны уметь быстро записать его на любом языке программирования. Почему я говорю "на любом"? Потому что сегодня в мире есть куча софта, который так или иначе использует туеву хучу языков и фреймворков. Сейчас очень редко бывает так, чтобы вы писали, скажем, только на Джаве и ни о чем не беспокоились.

3. Хороший программист должен уметь читать:
1) По-английски. Я ненавижу жалостливые заявления типа "книг о XYZ по-русски почти нет". Зачастую переводы неполны, неграмотны и могут содержать устаревшие сведения. Не умеешь читать по-английски - иди учи.
2) По-любому: уметь вчитываться и понимать написанное, а не пропускать куски абзацев, как делают некоторые.

4. Хороший программист должен уметь писать, как по-русски, так и по-английски.
Во-первых, для того, чтобы задавать вопросы. Сформулированный письменно вопрос сразу дает половину ответа и _значительно_ помогает помощнику найти вторую половину.
Во-вторых, чтобы писать грамотный код. Английский язык я не решусь называть "международным", но в IT-сфере это единственно возможный язык общения.

Золотое правило: забудьте о транслите и русскоязычных комментариях, когда пишете код! Называть переменную kolichestvo_iteraciy - это насрать читателю в душу. То же относится и к отладочному выводу. Не знаете как пишется то или иное слово по-английски? Поищите в google codesearch варианты, или возьмите словарь multitran.

5. Хороший программист знает, что "программистов" не бывает. Бывают инженеры, занимающиеся решением конкретной задачи. А программирование - всего лишь одно из средств её решения (и не всегда самое важное).

Сергей MeXaHuK Лапин

пише?7 марта 2007 в 0:12

А чего тут обсуждений нет?

Олег Андреев

пише?7 марта 2007 в 2:06

Потому что это не форум программистов.

Витольд Седышев

пише?8 марта 2007 в 0:02

2Игорь Коноплянко: Это не прикол, а фича
все дело в смайлике. В стандарте написано,
что если компилятор чувствует что вы сомневаетесь
(то есть на конце коментария стоит смайл :-\, то он не
компилирует следующую строчку). Просто начиная с '99
года компиляторы стали поддерживать смайлы =))))

Витольд Седышев

пише?8 марта 2007 в 0:12

Уважаемые обладатели Wi-Fi приглашаю вас в группу:

club1419

Гавриил Леви

пише?8 марта 2007 в 22:41

Для создания нового Web 2.0 проекта требуется компетентная и слаженная команда web разработчиков. Инвесторы планируют вывести проект на лидирующие позиции в своем сегменте в течение 6-12 месяцев после запуска и готовы вкладывать значительные ресурсы в разработку и маркетинг. Для ключевых людей предусмотрена регулярная компенсация, а так же бонусы по системе profit sharing.

Если вас заинтересовало данное предложение, обращайтесь.


Top
 



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
[ Time : 0.084s | 10 Queries | GZIP : Off ]