русский
Germany.ruForen → Архив Досок→ Programmierung

Programmierung Quereinsteiger?

3536  1 2 3 4 alle
Peppersley посетитель15.10.21 11:56
Peppersley
15.10.21 11:56 

Появилось желание сменить образ деятельности в сторону программирования. Открыв вакансии по данной теме, я наткнулся на множество направлений. С чего мне начать и имеет ли смысл начинать?

О себе:

окончил магистратуру прикладная физика (механика) TU Berlin. Работал в инженерных бюро, занимавшимся машиностроением. Программировал только для себя различные костыли на С++, не создавая GUI, с запуском из консоли.

#1 
AlexNek патриот15.10.21 12:47
AlexNek
NEW 15.10.21 12:47 
in Antwort Peppersley 15.10.21 11:56
и имеет ли смысл начинать?

без волшебного шарика и бабы Ванги сказать затруднительно.

Нужно знать минимум две вещи: как именно разрабатываются программы и конкретный язык программирования

#2 
Murr патриот15.10.21 14:00
Murr
NEW 15.10.21 14:00 
in Antwort Peppersley 15.10.21 11:56

С чего мне начать и имеет ли смысл начинать?

-----

Начать с выбора "направления".

А - смысл - кто же его знает...


не создавая GUI

-----

Это не самая проблемная, хотя и весьма затратная часть. Обучат... от пары месяцев дo...

#3 
Hryu свой человек15.10.21 14:56
NEW 15.10.21 14:56 
in Antwort Peppersley 15.10.21 11:56

Почему не хотите больше машиностроить?

#4 
Peppersley посетитель17.10.21 20:37
Peppersley
NEW 17.10.21 20:37 
in Antwort Hryu 15.10.21 14:56

Почему не хотите больше машиностроить?


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

#5 
Murr патриот17.10.21 21:00
Murr
NEW 17.10.21 21:00 
in Antwort Peppersley 17.10.21 20:37

Хочу обеспечить себя подушкой знаний, чтобы через пару лет ещё быть востребованным на рынке.

-----

Не получится.

В ИТ, в отличии от машиностроения, придется учится столько сколько будешь работать - "подушка", которую создаешь за пятилетку, становится невостребованной за 2-3 года до того как ее создаш'.

#6 
daduda gekickt bis 5/7/25 12:52 местный житель18.10.21 07:53
daduda
NEW 18.10.21 07:53 
in Antwort Peppersley 15.10.21 11:56

Так толсто, что даже тонко

#7 
Hryu свой человек19.10.21 12:05
NEW 19.10.21 12:05 
in Antwort Peppersley 17.10.21 20:37

прям безнадёгабезум

#8 
Serge_Sergey посетитель28.10.21 22:53
NEW 28.10.21 22:53 
in Antwort Peppersley 15.10.21 11:56

Есть очень много видео в Ютуб, где рассказывают с чего начать. Часто это просто реклама своих школ. Легко ли найти работу после обучения? Наверное после обучения начинается обучение, только на фирме, которая тебя подстраивает под свои требования и ожидания.

#9 
AlexNek патриот31.10.21 11:09
AlexNek
NEW 31.10.21 11:09 
in Antwort Serge_Sergey 28.10.21 22:53
Легко ли найти работу после обучения?

Это типа лотереи. Можно и сразу найти, а можно искать долго и нудно.

От возраста тоже зависит.


Но чисто мое мнение, если кто то считает что его нужно научить программированию, то делать в программировании им нечего.

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

При этом учить нужно не столько язык программирования, а скорее как именно нужно программировать.

#10 
Serge_Sergey посетитель04.11.21 22:49
NEW 04.11.21 22:49 
in Antwort AlexNek 31.10.21 11:09

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

#11 
uscheswoi_82 старожил05.11.21 00:23
NEW 05.11.21 00:23 
in Antwort Peppersley 15.10.21 11:56, Zuletzt geändert 05.11.21 00:29 (uscheswoi_82)
Появилось желание сменить образ деятельности в сторону программирования.
окончил магистратуру прикладная физика (механика)

Ada, Python, LISP.


А вы сможете придумать такой алгоритм на Python, чтобы игрушечный самолёт сам взлетел и приземлился? Когда я только приехал в Германию, то подумывал о таком амбициозном проекте. Просто тогда ничего кроме Windows CE/Embedded не было, а сейчас всякие одноплатники есть, осталось только алгоритм написать. У меня есть один одноплатник, он знает угол наклона, там встроен акселерометр и температуру, есть умный одноплатник, который может распозновать объекты. Первое что нужно сделать, это чтобы можно было от самолёта через радиосвязь получить информатцию о всех датчиках самолёта (авионика), придумать алгоритм автопилота, а так-же алгоритм взлёта или посадки, и если чтобы когда будет штормить, чтобы самолёт смог удержаться. Для радиосвязи нужно использовать модем, я нашёл опесоурсный проект эмуляции AT модема - https://sourceforge.net/projects/com0com/, не скорей это - https://sourceforge.net/projects/t38modem/, его нужно только адаптировать под радиосвязь, просто в обычных модемах чтобы соедениться нужно дать команду ATDT и сразу номер телефона, ну в Алматы на старых аналоговых АТС я всегда давал команду ATDP. Короче нужно чтобы по какой-то команде соеденялись между собой два радиоприёмника/радиопередатчика.


Вот небольшой пример алгоритма для дрона на Python:

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#12 
AlexNek патриот05.11.21 19:18
AlexNek
NEW 05.11.21 19:18 
in Antwort Serge_Sergey 04.11.21 22:49
Учить я думаю фирма все же должна

Каким именно образом?

#13 
Serge_Sergey посетитель05.11.21 22:20
NEW 05.11.21 22:20 
in Antwort AlexNek 05.11.21 19:18
Каким именно образом?

Указывать на ошибки, показывать как лучше сделать, отвечать на вопросы, вплоть до отсылать на курсы и семинары. Но вы правы по программированию очень много литературы и курсов в интернете.

#14 
AlexNek патриот05.11.21 22:38
AlexNek
NEW 05.11.21 22:38 
in Antwort Serge_Sergey 05.11.21 22:20
отсылать на курсы и семинары

За счёт отпуска на курсы пойдете? 50% доплатите?

Обычно на человека/команду в год есть определенный бюджет на обучение. Можно купить книги и/или на конференцию съездить.

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

#15 
  ВВалентин знакомое лицо06.11.21 04:57
NEW 06.11.21 04:57 
in Antwort uscheswoi_82 05.11.21 00:23, Nachricht gelöscht 14.11.21 17:25 (ВВалентин)
#16 
alex445 старожил06.11.21 09:46
NEW 06.11.21 09:46 
in Antwort ВВалентин 06.11.21 04:57, Zuletzt geändert 06.11.21 09:46 (alex445)
а вот глядя в своё время на бестолковые движения роботизированного пылесоса и роботизированных косилок,
я реально испытывал искушение поиграть с подобными устройствами - пожалуй, это всё ещё довольно непаханное поле

Неужели у них нет режима самообучения или построения карты участка, по которому они ползают и стригут траву, например? Тоже смотрел, как робот-газонокосильщик минут 5-10 ползал туда-сюда по одной линии, пока не нашёл наконец выход. Просто с одного конца тупичок был, и с другого, и он между ними ползал. Или задать ему один раз границы участка, чтобы не тупил. Скажем, провести после покупки по границам, а потом он сам внутри них будет себе маршрут оптимальный определять. Они сейчас настроены тупо на случайные повороты при столкновениях. Такого "робота" можно было сделать ещё до транзисторной эры.

#17 
uscheswoi_82 старожил06.11.21 12:06
NEW 06.11.21 12:06 
in Antwort ВВалентин 06.11.21 04:57
ну вообще-то алгоритмы не придумывают - придумывают сказки ;)

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


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

Скукотище, это никак не связано с физикой. А вот самолёт там аэродинамика.

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#18 
uscheswoi_82 старожил06.11.21 12:29
NEW 06.11.21 12:29 
in Antwort ВВалентин 06.11.21 04:57
а вот глядя в своё время на бестолковые движения роботизированного пылесоса

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


Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#19 
alex445 старожил06.11.21 13:36
NEW 06.11.21 13:36 
in Antwort uscheswoi_82 06.11.21 12:29

Разработчики в National Instruments (LabVIEW) тоже думали, что инженеры - они же тупые. И сделали им язык программирования визуальный. Последнее время, правда, добавляют поддержку обычных текстовых.

#20 
uscheswoi_82 старожил06.11.21 14:26
NEW 06.11.21 14:26 
in Antwort alex445 06.11.21 13:36
они же тупые

Я не говорил такого, я искал робот, который можно программировать на Python, хотел робота то что на видео себе взять, почитал на то время не было поддержки Python, всё что не на Python-е программируется мне такие роботы не нужны, за Python-ом будущее, и на видео у женщины заметил что алгоритм не оптимизирован, я бы сделал бы так:https://i.ibb.co/qCjnBrM/4-43-3-min.jpg

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#21 
IchEl41 прохожий06.11.21 15:16
NEW 06.11.21 15:16 
in Antwort alex445 06.11.21 09:46, Zuletzt geändert 06.11.21 15:18 (IchEl41)
Неужели у них нет режима самообучения или построения карты участка, по которому они ползают и стригут траву, например?


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

#22 
IchEl41 прохожий06.11.21 15:26
NEW 06.11.21 15:26 
in Antwort uscheswoi_82 06.11.21 14:26, Zuletzt geändert 06.11.21 15:27 (IchEl41)

Я не программист, скорее любитель. Но чем лучше Пайтон? Просто все пишут что их любимый язык, то есть читай тот язык который они изучили, самый лучший. Будущее за конкретным языком? Почему?

#23 
uscheswoi_82 старожил06.11.21 16:25
NEW 06.11.21 16:25 
in Antwort IchEl41 06.11.21 15:26
Но чем лучше Пайтон?

См. https://www.tiobe.com/tiobe-index/python/

1. ЯП высокого уровня

2. Код хорошо читаемый

3. Очень много готовых библиотек, в том числе для веб - DJango, телеграмм боты, AI (PyTorch, TensorFlow), AIML см. - https://www.devdungeon.com/content/ai-chat-bot-python-aiml, Data Science, итд. Допустим есть Betelbot для вычисление блеска звезды - см. https://github.com/hippke/betelbot

4. Во многих программах - Corel Paint Shop Pro, Blender 3D, PyMOL используется Python.

5. Во многих симуляторах - CoppeliaSim - https://github.com/CoppeliaRobotics/zmqRemoteApi. CARLA Simulator.

6. Во многих роботах/Embedded - Aldebaran Robotics см. - https://github.com/aldebaran, Spot от Boston Dynamics см. https://github.com/boston-dynamics/spot-sdk, в одноплатниках Nvidia Jetson, в одноплатниках Micro:Bit, и AdaFruit - µPython.

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#24 
alex445 старожил06.11.21 16:26
NEW 06.11.21 16:26 
in Antwort IchEl41 06.11.21 15:26

Говорят, это язык, которому обучают в ВУЗах. Ничего больше не знают, потому и любимый.

#25 
uscheswoi_82 старожил06.11.21 16:31
NEW 06.11.21 16:31 
in Antwort uscheswoi_82 06.11.21 16:25

НП. Для ТС я бы посоветовал бы - типа Pymunk - http://www.pymunk.org/en/latest/, или Blender см.


Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#26 
Peppersley посетитель26.12.21 00:12
Peppersley
NEW 26.12.21 00:12 
in Antwort Peppersley 15.10.21 11:56

Начал осваивать питон, идет гораздо легче чем с++ когда-то. Спасибо всем отписавшимся.

#27 
AlexNek патриот26.12.21 10:26
AlexNek
NEW 26.12.21 10:26 
in Antwort Peppersley 26.12.21 00:12
идет гораздо легче чем с++

ну это как бы само собой разумеется. О типах и памяти можно не думать.

Но это как раз и развращает.

#28 
низкий ум посетитель26.12.21 17:22
NEW 26.12.21 17:22 
in Antwort AlexNek 26.12.21 10:26

Сравнивать питона с С++ - это как сравнивать трактор "Беларусь" с прогулочной яхтой. Они из разных миров и для разных задач.

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

#29 
AlexNek патриот26.12.21 18:07
AlexNek
NEW 26.12.21 18:07 
in Antwort низкий ум 26.12.21 17:22
Он для минимизации издержек на программизм при сложной обработке и визуализации данных.

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

#30 
низкий ум посетитель26.12.21 18:23
NEW 26.12.21 18:23 
in Antwort AlexNek 26.12.21 18:07

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

На питоне можно делать любой обсчет данных - и код будет в большинстве случаев удобочитаемый и легко понимаемый спустя какое-то время. Большинство сложных алгоритмов уже реализованы в виде библиотечных функций. Сделать "на коленке" чтобы "було красиво" - самое то. Питон - хороший компромис между скоростью исполнения и объемом кода при реализации. Я больше люблю R - там код еще более компактный хотя считает обычно гораздо медленнее. Но у меня нет задач где расчет длился бы больше 10 минут - большинство задач вообще некритичны по времени. Точнее есть - но они делаються с помощью спецсофта писаного на фортране и C. Там полюбому нужна адская числомолотилка (мат.моделирование физ.процессов) со временем расчета порядка 2-3х суток.

#31 
uscheswoi_82 старожил26.12.21 18:48
NEW 26.12.21 18:48 
in Antwort низкий ум 26.12.21 17:22
Питон - это в основном для НЕ-програмистов.

:faceoff:А вы в курсе что ютуб написан на ЯП Python? Одна из причин изучения ЯП Python я хотел сделать что-то наподобие ютуба см. https://www.insight-it.ru/highload/2012/arkhitektura-youtube-2012/.

Python:

...

wiseguy - FastCGI-прослойка между Apache и Python

pycurl - лучшая доступная реализация HTTP-клиента, но в итоге все равно заменили на самописное низкоуровневое решение, выиграв 8% в потреблении вычислительных ресурсов.

spitfire - высокопроизводительный шаблонизатор на основе абстрактного синтаксического дерева с регулируемым уровнем оптимизации (как в gcc)

bson в качестве формата сериализации



Vitess

...

Готовые клиентские библиотеки пока только для Python и Go, что не удивительно, но есть и универсальные интерфейсы на основе HTTP и просто TCP-сокетов.



Подводим итоги

...

Python - вполне пригодный инструмент для реализации бизнес-логики интернет-проектов, свет клином на PHP не сошелся. Python предлагает широкий ассортимент инструментов для решения любых типичных для интернет-проектов задач, хотя субъективно выбор некоторых из них разработчиками YouTube мне кажется странным.

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#32 
низкий ум завсегдатай26.12.21 19:07
NEW 26.12.21 19:07 
in Antwort uscheswoi_82 26.12.21 18:48

Я написал - "в основном".

Не исключаю что питон может быть вполне уместен для других задач типа бизнес-логики. Это как раз близко к тому что делают НЕ-программеры.


ЗЫ. Vitess реальзован на Go.

#33 
alex445 коренной житель26.12.21 19:47
NEW 26.12.21 19:47 
in Antwort низкий ум 26.12.21 17:22

Сравнивать питона с С++ - это как сравнивать трактор "Беларусь" с прогулочной яхтой. Они из разных миров и для разных задач.

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

Вы подобное джаваскриптизёрам скажите про их джаваскриптиз. Но они таких как вы всё равно не слушают и лезут везде и всюду, куда ещё лет 10 назад и не думали. И питонисты, пыхпыхалки и прочие - тоже. Каждый стремится занять места как можно больше и вытеснить других. Независимо от того, можно ли на его поделке вообще писать нормальный код. Сначала займём своими поделками и костылями, а потом будем думать, как это всё дерьмо на нормальное что-то заменить.

#34 
alex445 коренной житель26.12.21 19:55
NEW 26.12.21 19:55 
in Antwort uscheswoi_82 26.12.21 18:48, Zuletzt geändert 26.12.21 20:29 (alex445)
А вы в курсе что ютуб написан на ЯП Python?

Я бы не стал доверять данным с 2012 года.


Ни один по-настоящему большой проект не написан на чём-то одном. Там всякого дерьма намешано. Под словами "ютуб написан на питоне" что понимается? Что алгоритм выдачи, например, рекомендованных видео там написан на питоне? Так это не бог весть какая задача - анализируется статистика пользователя. Такой скриптик можно на чём угодно написать. Судя по работе этого алгоритма, код там дерьмо и в основном:


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

2) показывает общие тренды;

3) тупо херачит рекламу и видосы, продвинутые за деньги.

#35 
AlexNek патриот26.12.21 20:03
AlexNek
NEW 26.12.21 20:03 
in Antwort низкий ум 26.12.21 18:23
Большинство сложных алгоритмов уже реализованы в виде библиотечных функций

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

#36 
Срыв покровов gekickt bis 7/7/25 16:05 патриот26.12.21 20:45
NEW 26.12.21 20:45 
in Antwort alex445 26.12.21 19:55

#37 
низкий ум завсегдатай26.12.21 21:56
NEW 26.12.21 21:56 
in Antwort AlexNek 26.12.21 20:03

Я не рассматриваю "голого Васю" - язык без библиотек. Это для меня "сферический конь в вакууме". Популярность питона - это в первую очередь прекрасные и общедоступные библиотеки. ИМХО конечно. Не знаю насколько подходящ питон для создания готовых приложений "на продажу" или какой-нибудь бизнес-логики но для таких не-программеров как я он просто шикарен. Ну и то что он де-факто стандарт для обучения азам программирования всяких не-информатиков в универах (например биологов - у них биоинформатика насколько мне известно очень "питонизирована") тоже фактор весьма значимый.

#38 
AlexNek патриот27.12.21 12:50
AlexNek
NEW 27.12.21 12:50 
in Antwort низкий ум 26.12.21 21:56
Я не рассматриваю "голого Васю" - язык без библиотек

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

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

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

#39 
низкий ум завсегдатай27.12.21 13:01
NEW 27.12.21 13:01 
in Antwort AlexNek 27.12.21 12:50

Думаю что в случае питона изучивший "просто язык" никому особо не нужен. То что видел я лично: цениться опыт работы с библиотеками (или их набором), И этот опыт чаще всего непрограммерский (например в биоинформатике). Но случаи наверное бывают разные. Если гдето с "питонистами" подругому - спорить не буду.

#40 
AlexNek патриот27.12.21 18:12
AlexNek
NEW 27.12.21 18:12 
in Antwort низкий ум 27.12.21 13:01
То что видел я лично: цениться опыт работы с библиотеками

У нас совершенно разные задачи:

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

чел. как-то знающий язык и конкретную библиотеку и больше ничего - нам в принципе не нужен.

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

#41 
uscheswoi_82 старожил28.12.21 09:04
NEW 28.12.21 09:04 
in Antwort AlexNek 27.12.21 18:12

НП. А вот имхо и весь язык, мне кажется проще бейсика:

var1=5
if var1 == 5:
  print("var1 == 5")
elif var1 == 4:
  print("var1 == 4")
else:
  print("var1 == " + str(var1))
items = ["orange", "strawberry"]
for item in items:
  print(item, end=" ")
for i in range(0, 11):
  print(i)
print("")
for i in range(10, 0, -1):
  print(i)
print("Hello " * 5)
test = "Hello";
print(test[::-1])
print(test[0:2])
print(test[2:0:-1])
def myprocedure(p):
  print("Hello " + p)
def myfunc(p):
  return "Hello " + p
myprocedure("uscheswoi_82")
print(myfunc("uscheswoi_82"))
class Test:
  def __init__(self, name):
    self.name = name
  def tostring(self):
    return self.name
t = Test("uscheswoi_82")
print(t.tostring())
x = lambda a : a + 10
print(x(5))


А это результат:

var1 == 5
orange strawberry 0
1
2
3
4
5
6
7
8
9
10

10
9
8
7
6
5
4
3
2
1
Hello Hello Hello Hello Hello
olleH
He
le
Hello uscheswoi_82
Hello uscheswoi_82
uscheswoi_82
15
Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#42 
AlexNek патриот28.12.21 12:53
AlexNek
NEW 28.12.21 12:53 
in Antwort uscheswoi_82 28.12.21 09:04

Что то я не припомню чтобы в бейсике такая фигня была - print(test[::-1])

#43 
низкий ум завсегдатай28.12.21 13:44
NEW 28.12.21 13:44 
in Antwort AlexNek 28.12.21 12:53

А почему она там должна быть?

Это как раз приятная фича питона. В R довольно близко:

> test <- 10:1

> print(test)

[1] 10 9 8 7 6 5 4 3 2 1

> print(test[test])

[1] 1 2 3 4 5 6 7 8 9 10

Резко сокращает обьем кода при обработке массивов/матриц - не нужны явные циклы, можно использовать векторизацию.

На питоне/R код для вычислительных задач компактнее си-шного раз эдак в 3-5. Понятно что по скорости может быть обратная картина. Но для очень широкого спектра применения разница по скорости пренебрежима.


#44 
7495 знакомое лицо28.12.21 16:20
7495
NEW 28.12.21 16:20 
in Antwort низкий ум 28.12.21 13:44

pragma solidity ^0.5.0;


contract SolidityTest {


uint16 public a = 20;

uint16 public b = 10;


uint public sum = a + b;

uint public diff = a - b;

uint public mul = a * b;

uint public div = a / b;

uint public mod = a % b;

uint public dec = --b;

uint public inc = ++a;

}


Output :

Fragen und Antworten - Программируем калькулятор пособий для беженцев вместе.
#45 
AlexNek патриот28.12.21 17:53
AlexNek
NEW 28.12.21 17:53 
in Antwort низкий ум 28.12.21 13:44
А почему она там должна быть?

Раз питон "проще" бейсика, то все конструкции должны быть также проще, а именно эта вызывает у меня море вопросов.

Для начала нужно найти что это вообще такое

https://stackoverflow.com/questions/509211/understanding-s...

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

Так что пусть уж лучше будет длинный код, но понятный без дополнительных поисков.

#46 
низкий ум завсегдатай28.12.21 18:26
NEW 28.12.21 18:26 
in Antwort AlexNek 28.12.21 17:53

Конструкции в питоне проще. И нагляднее. Такие конструкции встречаются в скриптовых языках часто - например R, Labtalk в пакете Origin, Matlab. Они привычны для не-программистов пришедших в питонизм из всевозможных интерактивных пакетов научной графики и обработки данных. Для меня они интуитивно понятны.

Бейсик в варианте VB я воспринимаю с содроганием. Он мне категорически ненравиться. Хотя я знаю виртуозов этого языка использующих ево очень и очень эффективно для технических расчетов.

Длинный код нафиг не нужен для тех кто считает а не программит коммерческие приложения. Чужой питоновский или R код я читаю слёта не испытывая никаких трудностей. И такие конструкции только облегчают понимание. Но разрабу клепавшему интерфейсы они врядли понравяться.


#47 
uscheswoi_82 старожил28.12.21 18:55
NEW 28.12.21 18:55 
in Antwort AlexNek 28.12.21 12:53
Что то я не припомню чтобы в бейсике такая фигня была - print(test[::-1])

В бейсике было бы так:

DIM test
test$ = "Hello"
FOR i% = LEN(test$) TO 1 STEP -1
  PRINT MID$(test$, i%, 1)
NEXT

В других ЯП есть тоже mid, или substr. В C# было бы так https://docs.microsoft.com/ru-ru/dotnet/api/system.string.substring?view=net-6.0 и так https://stackoverflow.com/questions/228038/best-way-to-rev...

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#48 
alex445 коренной житель28.12.21 19:26
NEW 28.12.21 19:26 
in Antwort AlexNek 28.12.21 17:53

Для начала нужно найти что это вообще такое

https://stackoverflow.com/questions/509211/understanding-s...

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

Так что пусть уж лучше будет длинный код, но понятный без дополнительных поисков.

a[start:stop]  # items start through stop-1
a[start:]      # items start through the rest of the array
a[:stop]       # items from the beginning through stop-1
a[:]           # a copy of the whole array

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

#49 
alex445 коренной житель28.12.21 19:28
NEW 28.12.21 19:28 
in Antwort низкий ум 28.12.21 18:26
Длинный код нафиг не нужен для тех кто считает а не программит коммерческие приложения.

Тогда наверное лучше Матлаб какой-нибудь? Там тупо алгебра, в том числе векторная. Поназывал всё однобуквенно и фигачишь функции и тензоры.

#50 
низкий ум завсегдатай28.12.21 20:17
NEW 28.12.21 20:17 
in Antwort alex445 28.12.21 19:28

Вы вообще в курсе сколько стоит одна лицензия Матлаба для индустриального клиента? Я работал с Матлабом во времена научные - академический сектор мог себе позволить излишества. А сейчас фирма сказала что не видит необходимости в покупке этого продукта. И если честно - я тоже. Зачем чтото покупать если питон плюс scipy/numpy/... забесплатно обеспечивают вполне сравнимый функционал? Кроме линейной алгебры и верчения матриц - а мне их вертеть приходилось, решал обратные некорректные задачи в своей области - существует огромное количество других задач. И все их можно решать в питоне с библиотеками. Или в R. По большому счету я не вижу принципиальной разницы между программированием на языке Матлаба и на питоне. Объемы кода сравнимые.

#51 
uscheswoi_82 старожил29.12.21 13:57
NEW 29.12.21 13:57 
in Antwort uscheswoi_82 28.12.21 18:55

Вообще легко запомнить:

В Си/Си++/Java/javascript/PHP/C#

for(i=start; i<end; i=step) { ... }

В Бейсике:

FOR i%=start TO end STEP step ... NEXT

В Pascal:

for i:=start to end do begin ... end 
или
for i:=start downto end do begin ... end

А в Python:

array[start:end:step] 

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#52 
alex445 коренной житель29.12.21 14:04
NEW 29.12.21 14:04 
in Antwort uscheswoi_82 29.12.21 13:57, Zuletzt geändert 29.12.21 14:06 (alex445)

Это легко запомнить. Нелегко - какие значения присваивать этим переменным. Что в первом варианте end = length - 1. А в C# в разных местах ещё и с разной нотацией. В операторах цикла и индексах массивов писать length - 1, а в операторах срезов массивов просто length, потому что -1 там уже подразумевается, и если напишешь length - 1, то последний элемент не захватится.


Интересно, в других вышеперечисленных языках тоже полно таких "маленьких нюансов"?

#53 
wasja-de постоялец29.12.21 17:33
NEW 29.12.21 17:33 
in Antwort низкий ум 28.12.21 20:17
Вы вообще в курсе сколько стоит одна лицензия Матлаба для индустриального клиента?


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

#54 
uscheswoi_82 старожил29.12.21 19:45
NEW 29.12.21 19:45 
in Antwort alex445 29.12.21 14:04
Интересно, в других вышеперечисленных языках тоже полно таких "маленьких нюансов"?

Думаю да.

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#55 
uscheswoi_82 старожил29.12.21 19:46
NEW 29.12.21 19:46 
in Antwort wasja-de 29.12.21 17:33, Zuletzt geändert 29.12.21 20:00 (uscheswoi_82)

Тут преподаватель сравнивает Python и Си++ см. https://youtu.be/KdZ4HF1SrFs?t=1359. Как понимаю когда пишишь так x = "Hello World", в языке Python выделяется место в памяти под слово Hello World, а переменная x содержит не само знасение Hello World, а ссылку, если написать x = 5, удаляется из памяти Hello World, и переменная x содержит уже новую ссылку на число 5. А в Си++ так смущ:

#include <iostream>
#include <string>
using namespace std;
int main(int argc, char** argv) {
 string s = "Hello, World!";
 string s2 = s;
 cout << s2 << endl;
 s = "";
 cout << s2 << endl;
}


Результат смущ:

Hello, World!
Hello, World!
--------------------------------
Process exited after 0.02354 seconds with return value 0
Drücken Sie eine beliebige Taste . . .
Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#56 
uscheswoi_82 старожил29.12.21 20:03
NEW 29.12.21 20:03 
in Antwort uscheswoi_82 29.12.21 19:46

НП.

Кому не нравится Python, можете попробывать Lisp:

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#57 
низкий ум завсегдатай29.12.21 20:11
NEW 29.12.21 20:11 
in Antwort wasja-de 29.12.21 17:33

Октав я все еще пользую время от времени но все реже и реже . Многие плюются - октав не вполне совместим, не все тулбуксы работают. А сейчас нет смысла и в октаве - многое в R и питоне мне нравится больше матлабовского.

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

Мне надо быстро давать осмысленные "вводные" начальству - обычно все требуется "еще вчера". Решающее значение имеют скорость вникания в проблему и имплементации метода обработки данных. Сама обработка редко требует больших выч.ресурсов. Чаще требуются упражнения в изощренной статистике чем обработка очень больших данных.

#58 
низкий ум завсегдатай29.12.21 20:13
NEW 29.12.21 20:13 
in Antwort uscheswoi_82 29.12.21 20:03

Кому не нравится питон может использовать R или Julia в зависимости от типа задач.

#59 
uscheswoi_82 старожил29.12.21 20:36
NEW 29.12.21 20:36 
in Antwort uscheswoi_82 29.12.21 19:46, Zuletzt geändert 29.12.21 20:38 (uscheswoi_82)
А в Си++ так

У них (у переменных s и s2) даже адреса разные:

#include <iostream>
#include <string>
using namespace std;
int main(int argc, char** argv) {
    string s = "Hello, World!";
    string s2 = s;
    cout << "Pointer of variable \"s\"=" << &s << "\n" << "Pointer of variable \"s2\"=" << &s2 << endl;
    cout << s2 << endl;
    s = "";
    cout << s2 << endl;
}


Результат:

Pointer of variable "s"=0x23fe30
Pointer of variable "s2"=0x23fe20
Hello, World!
Hello, World!

--------------------------------
Process exited after 0.02382 seconds with return value 0
Drücken Sie eine beliebige Taste . . .
Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
#60 
wasja-de постоялец29.12.21 21:06
NEW 29.12.21 21:06 
in Antwort низкий ум 29.12.21 20:13
Кому не нравится питон может использовать R или Julia в зависимости от типа задач.


ИМХО, если знать библиотеку (например gsl, lapack, blas) и язык, например, С и питон, то скорость написания хоть на питоне, хоть на С/С++, если алгоритм постоянно дергает эту библиотеку, будет одинаков. И время исполнения, если на одном процесссоре, практически тоже. Другое дело, народ стал ленивый и не только не разбирается как память аллоцируется, кешится и треды на процессоры ложатся, поэтому питон и побеждает. А потом представьте, на С/С++ можно столько вольностей нагородить, и потом год начальству отчитываться об успешном поиске багов, а на питоне сложно написать криво. Просто работает, не всегда хорошо, на многопроцессорной системе еще надо сильно потрахаться, чтобы все было именно так, как надо, на многоуровневых кешах - вообще полное отсутсвие понимания как это в питоне или R сделать, но, ведь работает. А кого сейчас перформанс волнует, у людей-то серьезных задач просто нет.

#61 
низкий ум завсегдатай29.12.21 22:36
NEW 29.12.21 22:36 
in Antwort wasja-de 29.12.21 21:06
Другое дело, народ стал ленивый и не только не разбирается как память аллоцируется, кешится и треды на процессоры ложатся, поэтому питон и побеждает.

А зачем это НЕ-программерам надо? Им надо "ехать" а не "шашечки". Мне надо БЫСТРО решить задачу а не написать алгоритмический шедевр. Хотя я и заморачиваюсь оптимизацией по старинке.

А кого сейчас перформанс волнует, у людей-то серьезных задач просто нет.

У нас есть. Моделирование термофизических процессов в наших дивайсах. Но никто на фирме не будет оплачивать разработку своего софта для этой задачи - это много-много человеко-лет выскоквалифицированного труда. Поэтому покупаем лицензию на готовый узкоспециализированный продукт.


Мои задачи все больше скатываются в область ML и создания экспертных систем. И для них не требуется знать тонкости работы с памятью и т.п. в C++.

#62 
wasja-de постоялец30.12.21 00:40
NEW 30.12.21 00:40 
in Antwort низкий ум 29.12.21 22:36
А зачем это НЕ-программерам надо?


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


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

#63 
1 2 3 4 alle