LINUX.ORG.RU

Можно ли начать с Python?

 ,


1

1

Надоело строить алгоритмы, и изучать программирование на псевдокоде. Хочется изучать алгоритмы и программирование используя синтаксис того или иного языка программирования. На выбор предоставлен 2 кандидата, 1-ый pascal по нему много литературы, а также он легче из-за отсутствия ООП. 2-ой Python развивающийся, скриптовый язык общего направления. Вот теперь думаю с чего начать, препод твердит начни с паскаль, мол лучший язык для обучения программированию, был спроектирован для обучения программированию . А вот запад с ним не согласен, в MIT вместо pascal используют python. Да и типизация строгая у python, только еще и динамическая. Вот блин дилемма! Направление пока не выбрал, мне бы программировать научиться!



Последнее исправление: ymn (всего исправлений: 2)

паскаль съест твой моск

wakuwaku ★★★★
()

Pascal только нативный без ООП, т.е. по книжке Вирта. По книжке же Фаронова — с ООП, там описан Turbo Pascal для MS-DOS. Также Kylix и FreePascal имхо имеют ООП, близкое к Delphi — Паскалю для Win32. Если сразу хочешь заняться делом, то конечно Python будет лучше, т.к. Паскаль имеет имидж рудимента и в основном целесообразен для поддержки унаследованных проектов. Но мне не нравятся в Python поломка совместимости его от версии к версии. Купил книжку по Python, не успел прочитать, и она устарела, т.к. была для 2.x, а потом сразу появилась третья версия.

Infra_HDC ★★★★★
()

То ли Гвида, то ли Пилгрим говорили, что пистон не подходит в качестве первого языка. Я склонен согласиться.

Deleted
()

Что-то тролли какие-то неоригинальные пошли. Зимний спад креативности.

Где-то у меня для особых случаев вброс был. Если не забуду то завтра запощу.

true_admin ★★★★★
()

питон. и не слушай не кого.

ты что хочешь - научиться писать на каком-то языке программирования или научиться программировать?

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

Откуда вы такие? Отстой же всякий советуете. 2014 год на пороге, а вы все о каких-то музейных никому ненужных примитивных недоинструментах говорите.

anonymous
()
Ответ на: комментарий от matrixd

Лучше было бы порекомендовать конкретную литературу по C/C++, т.к. Страуструп, например, не всем нравится. И упомянуть про Objective-C как альтернативу C++, более совместимую с нативным C.

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

А конкретная литература минимального уровня же одна всего.

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

То ли Гвида, то ли Пилгрим говорили, что пистон не подходит в качестве первого языка. Я склонен согласиться.

А никакой язык не подходит в качестве первого. Приходится учиться на неподходящих.

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

У меня из литературы был упомянутый страуструп и лабы которые нужно было делать. Окромя страуструпа читал только stackoverflow =) Учусь не на программиста. Стоп, я вру, еще я читал википедию. Я сейчас без шуток. Помоему многие вещи там расписаны довольно годно. Я с википедией и gcc готовился к экзамену помнится.

matrixd
()

В свое время начинал с паскаля. Если бы была возможность переиграть, то начал бы с питона.

geometer
()

Учится надо на Си, ИМХО.

Главным образом потому что:

- подавляющее большинство ЯП имеет с Си сходный синаксис

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

- знание си дает полное понимание управлением памяти, работы с указателями и т. д.

А вот потом, уже зная Си, следует приступить к питону. А паскаль и советчиков писать на нем - посылать в сад сразу

k0valenk0_igor ★★★
()
Последнее исправление: k0valenk0_igor (всего исправлений: 1)

питон

В середине 2000-х питон рулил и педалил. И даже дело было не в самой сущности языка, хотя помесь перла, смаллтолка и человеческого лица была весьма и весьма годной... Питон позволял, скачав один пакет, развернуть хорошую среду разработки под винду: не глючащую, сбалансированную, с полным набором «батареек» и полным набором документации за которыми не нужно было лезть в интернет. Тогда это было важно.

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

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

Универсальным языком моделирования предметной области является математика. Но не та «математика», которую вы там в школе изучаете. Вы дальше конца XVIII века и не дойдете (если школа не математическая).

Миром математики сейчас правит топология. Мода это или не мода — не скажу: не знаю. По крайней мере на очередную «основу всего» серьезно претендует. Настолько, что слышатся голоса предлагающие изучать теорию категорий раньше теории множеств.

Если именно в рамках CS то теорию вычислений и топологию подружили давно, теорию типов (которую еще в 30-х годах подружили с формальной логикой) и топологию подружили не так давно. А теперь, все дружно пытаемся это всё переварить. С переменным успехом.

Macil ★★★★★
()

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

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

У них в массивах индексация с единицы же;-)

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

Сам в школе учил паскаль. Тьфу.

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

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

vovba
() автор топика
Ответ на: комментарий от vovba

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

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

Я бы взял книгу Гвидо Ван Россума и Ко «Программирование на языке питон» (она хоть и устарела, но уж больно хорошо написана) и проштудировал первые две части. Дальше уже как пойдет...

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

Есть книга Марка Лутса «Изучаем Python» сойдет? 2-ух томник найду «Программирование на Python» потом найду. Кстати python чем либо уступает в плане обучения программированию тому же паскалю, просто интересно! Видно, что разбираетесь!

vovba
() автор топика
Ответ на: комментарий от vovba

Гвидо Ван Россум есть в инете (.pdf). Лутца когда то бегло листал, ничего не могу сказать.

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

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

Питон дает слишком много свободы, но в качестве первого ЯП для всяких поделок пойдет;-)

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

Есть у нас в универе курс, я там даже одно время ассистентом был, «Хаскель как первый язык программирования» :)

buddhist ★★★★★
()

Знать два языка полезнее чем один, но лучше брать те, которые являются используемыми в реальности (ну или хаскель).

PolarFox ★★★★★
()

Можно, разрешаю.

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

anonymous
()

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

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

Если хочешь разобраться во всяких разных алгоритмах,
то Python тут не подходит

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

pawnhearts ★★★★★
()

Бери то, что знает препод или кто-то, кто может потыкать тебе в код и сказать где ты накосячил. Ибо тебе сейчас вообще не важна область применимости языка.

Norgat ★★★★★
()
Последнее исправление: Norgat (всего исправлений: 1)

начинай с Scheme, синтаксис очень прост - ничего лишнего, по нему есть отличная литература, от тех же MIT Press SICP на русском

Deleted
()
Ответ на: комментарий от Infra_HDC

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

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

с Си сходный синаксис

Ну и что? То что там фигурные скобочки вместо begin end, это легко усвоить. Отличия же между этими языки со «сходным» на первый взгляд синтаксисами огромны. Синтаксис тут не самое главное.

скорость выполнения которого критична

Есть cython и подобное. Потом, такие либы создавать нужно далеко не всем. А если что-то критичное к чистодроблению писать, то лучше вообще питон не задействовать, потому что GIL и оверхед на конвертацию в питоньи типы будут мешать.

А вот потом, уже зная Си

Точно так же можно сказать, что си надо изучать когда знаешь ассемблер. Я такое мнение много раз слышал.

pawnhearts ★★★★★
()

Нужно. Паскаль мёртв. Питон жив.

был спроектирован для обучения программированию

Только это не значит что 1) у Вирта это хорошо получилось 2) за прошедшие годы не появилось ничего лучше «алгола на стероидах».

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

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

heilkitty ★★
()

Есть годная идея, имплементируй компилятор паскаля на питоне или интерпритатор питона на паскале.

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

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

Открой словарь. Питон строго типизирован, это не мешает его типизации быть утиной. Утиная ≠ слабая.

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

anonymous
()
Ответ на: комментарий от Infra_HDC

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

А так как я практик, то рекомендую поставить себе цель написать какое-нибудь простое (но интересное) приложение и написать его на питоне.

Оторванные от жизни знания не нужны.

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

...паскалевское наследие им здорово мешало...

Плохому танцору, знаете ли, яйца мешают.

anonymous
()
Ответ на: комментарий от v9lij

Бери язык, вопросы по которому ты сможешь кому-нибудь задать и получить внятные ответы.

Этому школяру его собственный препод говорит, чтоб изучал Паскаль. А сей недальновидный отрок на Лор пришёл советоваться. Всё это было бы смешно, когда бы не было так грустно.

anonymous
()

brainfuck. он такой же ненужный как и паскаль, но хотя бы прикольный.

der_looser ★★
()
Последнее исправление: der_looser (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.