21

Re: З чого почати ?

В пітоні є низькорівневі штучки? Буду знати.

22

Re: З чого почати ?

Q-bart написав:

От я перше познайомився з паскалем. Далі був Python (досить глибоко, + ООП). А тепер знову прийшлось згадувати pascal. І от що я хочу сказати - після Python, паскаль (для мене) це просто якась жалюгідна забавка, в порівнянні з Python.

Так от, чому завжди радять починати з pascal? Коли там нема і половини можливостей того ж самого python, а ті що є - це суцільні костилі

Який саме паскаль? Якщо Турбо, то це дійсно дуже застаріла мова. Якщо якась із сучасних інкарнацій, то дуже сумніваюся, що вона у чомусь поступиться Пітончику.
А починати з Паскаля радять тому, що для людини, яка знає англійську, його синтаксис трохи легше зрозуміти. Плюс там ручне керування пам'яттю, і дуже важливо з ним розібратися, перш ніж переходити до чогось складнішого. Сувора типізація на початку - це також плюс, як мені здається.

23 Востаннє редагувалося reverse2500 (17.11.2015 12:38:52)

Re: З чого почати ?

В пітоні є низькорівневі штучки?

так, навіть мали зробити Python для деяких контролерів

Плюс там ручне керування пам'яттю, і дуже важливо з ним розібратися, перш ніж переходити до чогось складнішого. Сувора типізація на початку - це також плюс, як мені здається.

в С теж, за те що багато хто не зрозумів як керувати пам'яттю то і багато проблем, в тому числі переповнення буфера і так дальше

24

Re: З чого почати ?

в С теж

Мається на увазі С++?
Якщо ні, то де у класичному Сі менеджер пам'яті?

25

Re: З чого почати ?

де у класичному Сі менеджер пам'яті?

та хоч тойже malloc
часто стандартні функції для роботи з пам'ятті є не дуже зручними для використання в ОС є свої менеджери та ще такі як realloc, calloc, free, reallocf

Подякували: koala1

26

Re: З чого почати ?

Torbins написав:

Який саме паскаль? Якщо Турбо, то це дійсно дуже застаріла мова. Якщо якась із сучасних інкарнацій, то дуже сумніваюся, що вона у чомусь поступиться Пітончику..

Pascal ABC

Torbins написав:

Плюс там ручне керування пам'яттю,

Це як?

27

Re: З чого почати ?

Q-bart написав:
Torbins написав:

Плюс там ручне керування пам'яттю,

Це як?

Для срачу паскаль вс Python це треба знати.

Прихований текст

Явно прописується виділення і звільнення пам'яті.

28

Re: З чого почати ?

quez написав:
Q-bart написав:
Torbins написав:

Плюс там ручне керування пам'яттю,

Це як?

Для срачу паскаль вс Python це треба знати.

Прихований текст

Явно прописується виділення і звільнення пам'яті.

Тобто, це оголошення типу змінної, і неможливість її змінити в ході програми?

29

Re: З чого почати ?

Cyan написав:
Kizyak написав:
Q-bart написав:

Раджу пройти курс Віталія Подоби http://www.vitaliypodoba.com/email-cour … rogrammer/
Там все чудово описано і розказано.

10 років до вашої першої роботи?

С++ за 21 день вже не актуально :D

Та вони проходять його вже за 20 днів (скоро і 19 буде) :D

30

Re: З чого почати ?

Q-bart написав:
quez написав:
Q-bart написав:

Це як?

Для срачу паскаль вс Python це треба знати.

Прихований текст

Явно прописується виділення і звільнення пам'яті.

Тобто, це оголошення типу змінної, і неможливість її змінити в ході програми?

Ні, ви пишете руками виділитиПам'ять(вказівникНаПам'ять), працюєте з змінною, а коли вона стає непотрібною, ви пишете звільнитиПам'ять(вказівникНаПам'ять).

Подякували: Q-bart1

31

Re: З чого почати ?

reverse2500 написав:

та хоч тойже malloc

Це не менеджер пам'яті. Він не слідкуе автоматично за пам'ятью. Аналог - GetMem().

32

Re: З чого почати ?

quez написав:
Q-bart написав:
quez написав:

Для срачу паскаль вс Python це треба знати.

Прихований текст

Явно прописується виділення і звільнення пам'яті.

Тобто, це оголошення типу змінної, і неможливість її змінити в ході програми?

Ні, ви пишете руками виділитиПам'ять(вказівникНаПам'ять), працюєте з змінною, а коли вона стає непотрібною, ви пишете звільнитиПам'ять(вказівникНаПам'ять).

А як це виглядає на pascal?

33

Re: З чого почати ?

Pascal ABC це як раз така штука чисто для школярів. Я мав на увазі нормальні паскалі. Якщо мова йде про Турбу, то там виділення й вивільнення пам'яті робиться через New та Dispose.

Подякували: Q-bart1

34

Re: З чого почати ?

А в чому перевага такого підходу? Менше навантаження?

35

Re: З чого почати ?

в чому перевага такого підходу? Менше навантаження?

Переваго понад що? New(), GetMem() працюють з купою (Heap). Навантаженням керує операційна система у будьякому разі. Й це в ціломе незалежно навіть для інших 90% мов програмуваня.
Питання лише у тому, як та чи друга мова дозволяє самому програмісту працювати з пам'ятью - чиб то самутужки програміст керує пам'ятью чи за нього більшу частину важливих дій по виділенню та звільненю роблять менеджери, які компілятором пристиковуються до готової програми (як наприклад Collect Garbage у сучаних мовах накштал шарпу)

36

Re: З чого почати ?

Це не менеджер пам'яті. Він не слідкуе автоматично за пам'ятью.

керування пам'ятью є ручне, автоматичне, напівавтоматичне, все вірно, malloc це не автоматичний менеджер пам'яті

37

Re: З чого почати ?

Q-bart
Таке ручне керування пам'яттю є найбільш економічним щодо оперативки, найменше навантажує процесор, та дозволяє реалізовувати найбільш вимогливі алгоритми. Але його найважче правильно реалізувати. Яскравим прикладом є ігрові рушії, 95% яких пишуть на мовах з ручним керуванням пам'яттю. Новачкам радять з ним познайомитися щоб вони зрозуміли, що ті чи інші об'єкти в програмі не беруться нізвідки, й не зникають в нікуди. Якщо програміст сам ними не керує, значить це робить за нього компілятор та рантайм. Причому беруть за це певну "плату".

Подякували: HetmanNet, Q-bart2