LINUX.ORG.RU
ФорумTalks

Я бы в плотники пошёл - пусть меня научат


0

1

Я студент, есть свободное время. Хотел бы помочь какому-нибудь небольшому проекту по части программирования, заодно поучиться самому, но не могу найти интересный. Язык буду доучивать по ходу. Предпочтительны языки: Python, Java, C(без плюсов). Из графических тулкитов: GTK+.


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

Студенты все же бывают разные, а что если человек имеет стремление, хорошо соображает и быстро схватывает на лету - то почему бы и нет?

потому что он должена научитсья писать

map(filter, a)
а не
result = []
for b in a:
  if filter(a):
    result.append(a)

и еще много что. а это теоретическая подготовка вкупе со знанием инструмента, а не энтузиазм.

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

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

З.ы. во втором коде баг, там a на b надо заменить в двух последних строчках

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

любой читавший документацию питона конечно первый вариант сделает

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

Смотри сколько нюансов, казалось бы на плевом примере. Подтирать такие огрехи мало кто забесплатно согласен.

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

> теоретическая подготовка в купе со знанием инструмента

это программист

начинающие, которые и живут на одном энтузиазме.

это быдлокодер

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

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

как отрабатывает map

Кстати, тоже прелестная 2->3 несовместимость, во втором сразу перебирает, в третьем возвращает итератор.

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

Один фиг сама функция map() обладает примерно подобным алгоритмом. Так что какая разница как написано, главное чтобы итог был верным. Оптимизация дело второе.

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

Знаю один проект (Scribes), автор которого очень сильно любит рассчитывать на неленивость map. Не уверен, что он когда-нибудь решит переползать на py3, но то, что он не одинок — 100%.

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

когда я посмотрел на код копыта, я увидел 2/3 копи-паста

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

главное чтобы итог был верным.

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

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

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

Видимо думает, что

map(do_something, seq)

гораздо круче, чем

for it in seq:
    do_something(it)

У других можно встретить такое:

[do_something(it) for it in seq]

Но это хотя бы гарантированно отработает сразу. Не знаю, может им в функциональщину охота поиграть?

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

Так то работа! Вы же рассчитываете на повышение скилов студентиков в будущем, поэтому готовы к некоторым издержкам.

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

ну да. да и кто-то же должен тесты писать. у нас на это времени нет

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

> Правда у них одна проблема - они скучные

пусть берет андроед и пишет игрушки

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