41

Re: Яку мову програмування краще обрати за першу?

cheappi386 написав:

А що це

for(int i=0;i<10;i++)
{

}

поробляє,як мінімум, у java,C#,PHP ? Та й ще купа операторів та ключових слів.

Не плутайте сі-подібні мови з сі++подібними мовами. Ваш перелік цілком правильний, але неповний -- якщо відкинути PHP як солянку-шаблонізатор, то java, C# є такими ж наступниками С++ як і UCSD p-System

42

Re: Яку мову програмування краще обрати за першу?

FakiNyan написав:

в js не int, а var

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

це тому що в js числа можуть бути цілими і поламаними, int - integer,  а var - various, типу "різні" числа, а потім ця ідея сподобалась автору js  і він почав використовувати var для всіх інших типів даних. В той день в нього ще кішка народжувала, і народила котенятка з членом на мордочці
https://cdn.discordapp.com/attachments/333936584481177600/358685365512568833/unknown.png
Саме це наштовхнуло автора js на використання var для всіх інших типів даних.

це тому, що є мови зі строгою типізацією, а є з динамічною.
правда такої задниці, як в JS

>>var i = '5' + 5;
>>i
'55;

треба ще пошукати

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

43

Re: Яку мову програмування краще обрати за першу?

fed_lviv написав:
ping написав:
fed_lviv написав:

C/C++

чи є сенс в епоху дешевих обчислювальних ресурсів вивчати мову низького рівня?

Є. Щоб розуміти чому індекс масива починається з нуля, щоб розуміти, що порівняння посилання та значення то різні речі, щоб розуміти різницю між глибоким копіюванням та поверхневим, щоб розуміти в чому плюси та мінуси garbage collection, ...

а це дійсно треба? Вам не здається, що ці речі все рідше і рідше треба знати і розуміти для всього спектру програмістських робіт?
навіть звичайний перехід до масового застосувпання ООП призвів до факту, що ми користуємося класами і їх властивостями не знаючи "що під капотом"
і не можемо знати - бо фізично не вистачить часу вивчити будову всіх бібліотек, якими користуємося.

а колись давно-давно вважалося необхідним для якісного  програмування на PL/1  володіти основами асебмлера

звісно , залишається сфера, де описані Вами речі важливо знати і розуміти.

але на мою думку, сфера, де це непотрібно - скажімо машинне навчання чи обробка терабайтів інформації - розвивається швидше

44

Re: Яку мову програмування краще обрати за першу?

але на мою думку, сфера, де це непотрібно - скажімо машинне навчання чи обробка терабайтів інформації - розвивається швидше

Почнемо з того -- звідкіля ви то знаєте? Особливо про розвиток?

45

Re: Яку мову програмування краще обрати за першу?

ping написав:
FakiNyan написав:

в js не int, а var

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

це тому що в js числа можуть бути цілими і поламаними, int - integer,  а var - various, типу "різні" числа, а потім ця ідея сподобалась автору js  і він почав використовувати var для всіх інших типів даних. В той день в нього ще кішка народжувала, і народила котенятка з членом на мордочці
https://cdn.discordapp.com/attachments/333936584481177600/358685365512568833/unknown.png
Саме це наштовхнуло автора js на використання var для всіх інших типів даних.

це тому, що є мови зі строгою типізацією, а є з динамічною.
правда такої задниці, як в JS

>>var i = '5' + 5;
>>i
'55;

треба ще пошукати

в книжці, що я читаю, про це написано. Там є певні правила конвертації, так що нічого страшного тут немає, можна розібратись.
До речі, мені дуже сподобалась концепція "правдивих" та "неправдивих" значень. Це коли кожне значення може звестись до true або false, і в логічних операторах повертається саме значення, а не результат.
Наприклад

var a = 5;
var b = 0;
var c = b || a; // c === a

тобто, воно спочатку приводить b до boolean, і якщо воно false,  то перевіряє a, і якщо a зводиться до true, то повертається значення a
це так мона перевіряти поля об'єктів на існування і якщо вони не існують, то присвоювати дефолтне значення

var a = obj.a || [1, 2, 3];

А ще оператор ! конвертує об'єкт до типу boolean, та інвертує його. Тому

!!a;

зводить a до boolean

46

Re: Яку мову програмування краще обрати за першу?

0xDADA11C7 написав:

але на мою думку, сфера, де це непотрібно - скажімо машинне навчання чи обробка терабайтів інформації - розвивається швидше

Почнемо з того -- звідкіля ви то знаєте? Особливо про розвиток?

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

так про це всюди гудять, та й якщо подумати - кількість інформація росте дуже швидко, бо вже майже кожна людина має смартфона, і може постити різне лайно на свою сторінку в соц. сєті

47 Востаннє редагувалося ping (16.09.2017 21:50:30)

Re: Яку мову програмування краще обрати за першу?

0xDADA11C7 написав:

але на мою думку, сфера, де це непотрібно - скажімо машинне навчання чи обробка терабайтів інформації - розвивається швидше

Почнемо з того -- звідкіля ви то знаєте? Особливо про розвиток?

2015/09/30/big-data-20-mind-boggling-facts-everyone-must-read

Big data is not a fad. We are just at the beginning of a revolution that will touch every business and every life on this planet.
Here are 20 stats that should convince anyone that big data needs their attention:
https://www.forbes.com/sites/bernardmar … fcd7b617b1

http://static3.businessinsider.com/image/51af4432ecad04cc1c000004/how-big-data-will-transform-the-mobile-ecosystem.jpg



http://2.bp.blogspot.com/-wpPd-dg7hzM/VOYmVaSCTaI/AAAAAAAAAHY/YzBHy5_v2gM/s1600/growthof%2Bsturct%2Band%2Bunstruct.jpg

і всю цю неструктуровану "дата" дуже кортить обробити і застосувати отримані результати.

48

Re: Яку мову програмування краще обрати за першу?

ping написав:

правда такої задниці, як в JS

>>var i = '5' + 5;
>>i
'55;

треба ще пошукати

У джаві додавання рядка до числа працює так само (все, що не рядок, перетворюється на рядки й конкатенується з рядком). У пітоні все доводиться конвертувати явно, бо інакше лається. Мені більше імпонує підхід як у php, де для додавання й конкатенації зробили окремі оператори, в першому випадку все перетворюється на числа й додається, у другому — перетворюється на рядки і з'єднується.

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

49

Re: Яку мову програмування краще обрати за першу?

P.Y. написав:
ping написав:

правда такої задниці, як в JS

>>var i = '5' + 5;
>>i
'55;

треба ще пошукати

У джаві додавання рядка до числа працює так само (все, що не рядок, перетворюється на рядки й конкатенується з рядком). У пітоні все доводиться конвертувати явно, бо інакше лається.

і це правильно
правда в пітоні чомусь лишили  виняток для додавання чисел до <class 'bool'>

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

50 Востаннє редагувалося fed_lviv (17.09.2017 16:11:57)

Re: Яку мову програмування краще обрати за першу?

ping написав:

а це дійсно треба? Вам не здається, що ці речі все рідше і рідше треба знати і розуміти для всього спектру програмістських робіт?
навіть звичайний перехід до масового застосувпання ООП призвів до факту, що ми користуємося класами і їх властивостями не знаючи "що під капотом"
і не можемо знати - бо фізично не вистачить часу вивчити будову всіх бібліотек, якими користуємося.

а колись давно-давно вважалося необхідним для якісного  програмування на PL/1  володіти основами асебмлера

звісно , залишається сфера, де описані Вами речі важливо знати і розуміти.

але на мою думку, сфера, де це непотрібно - скажімо машинне навчання чи обробка терабайтів інформації - розвивається швидше

Я вважаю, що треба. Звісно, я  не підтримую такі висловлювання: "Не знаючи таких мов, як С/C++ - ти не програміст", тощо. Якщо, людина файно знає одну мову програмування (будь-яку) і дійсно вирішує поставлені перед собою задачі, то це є СПЕЦІАЛІСТ, крапка.
Проте, якщо людина каже:

alissa shu написав:

Яку мову програмування краще вибрати за першу? Але все ж з якої почати?

Я двома руками, за дані мови (С/С++). Для прикладу, візьмемо саму популярну (одну з самих популярних) книг по Java - "Философия Java" (Брюс Эккель). Новачок в програмуванні прочитавши її зможе написати набагато більше ніж "Hello, world!". Проте на кожній "п'ятій" сторінці, йде порівняння з С++. І дуже, добре, коли людина хоч би знає основи даної мови. Оскільки порівнювати, щось з не знайомим, м'яко кажучи важко. Я читав цю книгу до С/C++ та після. Як на мене - дві великі різниці.
Або, візьмемо іншу мову та книгу "PHP 7. В подлиннике" (Игорь Симдянов, Дмитрий Котеров). Перший розділ книги майже нічого не розповідає про PHP. Йдуть легкі приклади написання CGI на С. І не знаю, як іншим, але мені це подобається, бо хочеться, хоч приблизно розуміти, що відбувається за кулісами.

Ось всі сперечаються, яку мову програмування краще, щоб вивчали у школі. Як на мене, не має різниці. Головне, щоб учні хоч приблизно уявляли, що таке ПК, та що таке мова програмування. І ось для цього, я б рекомендував читати дуже цікаву та "легку" книгу: "Код. Тайный язык информатики" (Чарльз Петцольд). Дана книга читається, як художня, інша справа, що людина, хоч приблизно почне розуміти, "а що ж там всередині".

...призвів до факту, що ми користуємося класами і їх властивостями не знаючи "що під капотом"...

Знову С++ vs Java. В Java всі методи є віртуальні (майже, всі  ;) ). Але це мені нічого особливо не говорить, коли мої очі пробігаються по даних словах у книзі. Інша справа, коли, я хоч трошки писав коду на C++ і розумію, що таке віртуальний метод, а що ні.

Ще один приклад: "що під капотом"(C#) - ADO.NET vs Entity Framework. Багато людей, з якими довелося поспілкуватися, просто в екстазі розповідають, що Entity Framework - "це наше всьо". А висловлювання: "Можна й SQL не вчити, Entity Framework - все вирішить", просто валять на повал. Я не сперечаюсь, що Entity Framework, файна обгортка для ADO.NET + дозволяє набагато швидше написати код, який зможе показувати результат. Але потрібно не забувати (а деяким особам взагалі хоч почитати, що є таке) - ПРОФАЙЛЕР. Бо Entity намутить такі тіті, що аж страшно стає, коли подивишся профайлером на згенерований SQL запит. Звісно, якщо в людини є великий досвід вона набагато краще буде орієнтуватися, як "вірно" скористатися Entity Frameworkом, проте хоч би на початку потрібно дивитися за куліси.

Приклад (Java) ArrayList vs LinkedList. Звичайно, можна в пам'яті собі занотувати:
"ArrayList - швидкий доступ до елементів, LinkedList - швидке видалення та вставка елементів." Але ж завчити то не зрозуміти. Чому ж так? А треба руцями написати та попрацювати на С++ з динамічним масивом та двобічно зв'язаним списком і тоді розуміння прийде, чому там швидкий доступ до елементів, а там швидке вставляння та видалення тих елементів.

І таких прикладів, я думаю, навести можна ще багацько.

P.S. Ще один плюс "в першій мові" -  C/C++. Багато юних ХАКЕРІВ та розробників МАСШТАБНИХ КОМП'ЮТЕРНИХ ІГОР - відсіються. Бо дуже часто люди надивившись фільмів та наслухавшись цікавих розповідей, думають, що програмування це нічого не роблення, а просто тицяння по клавіатурі, яке дає моментальний результат.  :D

P.P.S.

ping написав:

...бо фізично не вистачить часу вивчити будову всіх бібліотек, якими користуємося...

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

Подякували: 0xDADA11C7, P.Y., LoganRoss, 221VOLT, ReAl5

51

Re: Яку мову програмування краще обрати за першу?

ping написав:
P.Y. написав:

У пітоні все доводиться конвертувати явно, бо інакше лається.

і це правильно

Чому ж, це просто додаткова багатослівність, яка насправді не гарантує від помилок: наприклад, одній і тій же функції можна передати два числа чи два рядки, що містять числа, вона їх десь у своїх нутрощах додасть чи конкатенує, отриману суму/конкатенацію конвертує в int (сподіваючись, що це int чи float), а результат хибних обчислень вирине десь аж... Тоді як пехапешник спокійно бере ці два рядки з числами, додає їх і отримує число.

ІМНО, конкатенацію рядків у пітоні має сенс замінювати на форматування: не s1+s2, а '%s%s'%(s1,s2) — це дає гарантію, що результат не буде арифметичною сумою. Що ж стосується арифметичного додавання чисел, я, звичайно, не радитиму писати sum((a,b)) замість a+b, але sum при спробі знайти суму двох рядків видасть помилку, а + спокійно їх конкатенує.

Подякували: Monolith, ping2

52

Re: Яку мову програмування краще обрати за першу?

fed_lviv
Ви наводите приклади книжок не для початківців, а то й взагалі пострадянських писунів руками, які скрізь свого фортрана пхатимуть і "ісконно русскій язик" (не іронія, а пряма мова автора книжки х Вольфрам Математики, де автор анахвемствував електнонні кнжки через незадовільну їхню кількість на ісконно рускому язиці). Також наводити приклад  ентерпрайзових засобів невірно в цьому контексті, бо вони мають багатий спадок з коболом(там це не екзотика, а засіб виробництва) включно.

53 Востаннє редагувалося fed_lviv (17.09.2017 17:56:19)

Re: Яку мову програмування краще обрати за першу?

0xDADA11C7 написав:

fed_lviv
Ви наводите приклади книжок не для початківців...

"Философия Java" (Брюс Эккель) - тут згідний, початківцю дану книгу читати буде не цікаво.
"PHP 7. В подлиннике" (Игорь Симдянов, Дмитрий Котеров) - повністю, ще не прочитав, але по прочитаному не скажу, що вона "дуже важка", наразі вона мені нагадує, аналог для С# ("Язык программирования C# 6.0 и платформа .NET 4.6" - Эндрю Троелсен,  Филипп Джепикс) - начебто груба, начебто про все, але не сильно глибоко, тому легко сприймається.
"Код. Тайный язык информатики" (Чарльз Петцольд) - для ПОВНИХ НУЛІВ, але дуже цікава. Ще раз наголошую читається, як художня, ну можливо з середини потрібно замислюватися. Рекомендував би для обов'язкового читання, для всіх хто прагне стати хакером, програмістом (_____ тут можна все інше дописати :)). Не даремно ж Петцольд отримав премію Windows Pioneers, вміє розповідати. :D Проте хай даний факт не відкидає любителів Linux від читання даної книги.  :D

0xDADA11C7 написав:

Також наводити приклад  ентерпрайзових засобів...

Тут не важливо, які засоби, я просто наголошую, що дуже добре хоч приблизно усвідомлювати, "що під капотом".

Подякували: 0xDADA11C71

54

Re: Яку мову програмування краще обрати за першу?

тепер зрозуміло, хто такий фед лвів...

55

Re: Яку мову програмування краще обрати за першу?

http://carlcheo.com/wp-content/uploads/2014/12/which-programming-language-should-i-learn-first-infographic.png
трохи посміятися

Подякували: FakiNyan, ostap34PHP2

56

Re: Яку мову програмування краще обрати за першу?

0xDADA11C7 написав:

пхатимуть і "ісконно русскій язик" (не іронія, а пряма мова автора книжки х Вольфрам Математики, де автор анахвемствував електнонні кнжки через незадовільну їхню кількість на ісконно рускому язиці).

А проте, проблема актуальна не лише для носіїв «ісконно руССкого», а й для нас. Просто наші [censored] забили на переклад солов'їною, бо бидло й на «ісконному» схаває (і нехай першим у мене кине банхамера той, хто починав знайомство з програмуванням не з російськомовного чтива на цю тему).

Поясню, чому English для наших зовсім нулячих початківців не годиться: ми живемо поза англомовним середовищем, і при читанні англомовного тексту ми все одно подумки його перекладаємо на ту мову, якою можемо думати. Щоб здійснити переклад у певній предметній області, треба розуміти базові поняття в цій предметній області. Питання: а що взагалі наш український школяр-відмінник може зі старту зрозуміти в англомовному підручнику з програмування, якщо англійську в школі він учив за підручниками, орієнтованими на майбутніх туристів, а увесь шкільний курс математики, починаючи з лічби на паличках і закінчуючи інтегралами, йде українською?

Висновок: перша книжка з програмування має бути написана зрозумілою мовою (в ідеалі, українською — за умови, що книжку написано людською мовою і вона не заповнена якоюсь хрінню замість необхідної інформації). Далі, маючи в голові якісь вузлики, треба брати щось схоже англійською (і далі прогресувати в цьому напрямку — достатньою кількістю інфи на рідній мові все одно нас ніхто забезпечувати не буде, хоч, може, процес засвоєння інформації на ній і міг би відбуватися швидше, ніж на англійській).  Звичайно, якщо ви маєте на меті лише навчитися добре theкати-[əː]кати, можете брати зі старту якийсь авдіокурс джави/пітона/плюсів, але з точки зору програмерських скілів на цьому етапі він буде не набагато кориснішим, ніж поезія Шекспіра.

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

57 Востаннє редагувалося fed_lviv (18.09.2017 10:31:03)

Re: Яку мову програмування краще обрати за першу?

Нажаль в нас проблема не тільки в перекладі (хоч його зробити легше, аніж написати), але й в написанні НАШИХ книг про програмування. Якщо взяти всі книги по програмуванню, які прочитав (або майже повністю прочитав), то маю тільки дві книги, які написані НАШИМИ. А якщо додати, що це книги, які не друкують, а у вільному доступі, геть сумно стає (хоч можна радіти, що без проблем можна собі їх закачати, але я б з радістю купив би собі друковані).
"Дизайн патерни – просто, як двері" (Андрій Будай)
"jQuery для начинающих" (Антон Шевчук)

Подякували: LoganRoss, ping, Torbins3

58

Re: Яку мову програмування краще обрати за першу?

fed_lviv написав:

Нажаль в нас проблема не тільки в перекладі (хоч його зробити легше, а ніж написати), але й в написанні НАШИХ книг про програмування. Якщо взяти всі книги по програмуванню, які прочитав (або майже повністю прочитав), то маю тільки дві книги, які написані НАШИМИ. А якщо додати, що це книги, які не друкують, а у вільному доступі, геть сумно стає (хоч можна радіти, що без проблем можна собі їх закачати, але я б з радістю купив би собі друковані).
"Дизайн патерни – просто, як двері" (Андрій Будай)
"jQuery для начинающих" (Антон Шевчук)

доповню

http://www.vitaliypodoba.com/wp-content/themes/Divi_Child_VP/django_book/cover_white_3.png
http://www.vitaliypodoba.com/books/djan … beginners/

Подякували: fed_lviv, ostap34PHP, koala3

59

Re: Яку мову програмування краще обрати за першу?

Дякую, буду мати на увазі, якщо дійду до Python (в чому сумніваюсь, хоча "пути Господни неисповедимы"  :) )

60

Re: Яку мову програмування краще обрати за першу?

ой, щось мені той подоба не подоба... читав якось про патерни, то ніфіга не зрозумів

Подякували: Chemist-i1