|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
Функциональное программирование02.12.2019, 13:59. Показов 6711. Ответов 100
Метки нет (Все метки)
Читал или слышал, что те, кто выучил ООП, потом не могут изучить функциональное программирование. Достаточно ли будет изучить функциональное программирование через Python или все равно надо учить другой язык для его усвоения?
На данный момент имею следующий план действий. Изучение структурного программирования по книге с примерами и задачами для тренировки "Python. Введение в программирование" Светланы Шапочниковой". Она дала мне исходный код к книге, к тем примерам, к которым он был. А возможно и по другим книгам, где с ООП не перемешиваются уроки. Уже некоторые учебные курсы на видео и некоторым статьям и отдельные главы из книг изучал, однако от и до с задачами и написанием примеров по памяти знания не закреплял. Затем изучение функционального программирования, про что задал вопрос. Дополнительно поинтересуюсь лучшими учебными материалами на эту тему. А затем уже изучение ООП, которое в теории уже изучал по разным видео. Так как не подкреплял практикой, особо сильно не запомнил.
0
|
|
| 02.12.2019, 13:59 | |
|
Ответы с готовыми решениями:
100
Функциональное программирование Работа с БД и функциональное программирование Пример программы (функциональное программирование и лямбды) |
|
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
|
|
| 10.12.2019, 15:22 | |
|
supmener, чем вы планируете заменить JS?
0
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 10.12.2019, 15:45 [ТС] | |
|
Если не возможно что то выделить отдельно в ограниченном виде для отправки форм без перезагрузки страниц из Javascript, если это как то может повлиять на типобезопасность, то буду использовать для этого HTML.
0
|
|
|
|
||
| 10.12.2019, 18:29 | ||
|
supmener,
Потому я и спрашиваю, чего вы хотите, от этого зависит дальнейшая траектория обучения. Если "писать сайты", то вот вам ответ мира - JS. Не голый, конечно, нужны ещё фреймворки + HTML. Если этот ответ вас не устраивает, если вы - ну что ж могу поделать? Но будет забавно, когда вы придёте устраиваться на работу "писать сайты" без JS. Кстати, JS в итоге тоже оказался неплох для функционального программирования. Если обратить взор в сторону бекенда - то там тоже, питон, php, вот это всё. Какая-то часть на яве и C#\ASP.NET, да. Но это языки, которые пришли из мира локальных приложений в web. И если их выбирают, то вовсе не за статическую типизаию. Итак, в итоге могу по вашим желаниям резюмировать: 1. web (делать сайты). 2. static typed. Что почти перпендикулярно п. 1, но с уклоном в противоречие. 3. функциональное программирование. Вообще не в ту степь. 4. поиск всяких экзотических инструментов. 5. а ещё я помню про Аду. Так что вы уж давайте, определяйтесь. Слишком много хотелок, которые друг с другом не коннектятся, если вообще не противоречат.
1
|
||
|
14353 / 9456 / 1360
Регистрация: 21.01.2016
Сообщений: 35,650
|
|
| 10.12.2019, 20:04 | |
|
supmener, вы задаёте слишком много вопросов некоторые из которых просто поражают своей глупостью (особенно про JS).
Я вам рекомендовал уже и повторюсь снова: прекратите искать какие-то серебренные, статически типизированные, пули. Их нет. А в руках дилетанта любой F# превращается в фу. То, что вы возьмёте "самый лучший язык в мире" не сделает вас самым лучшим программистом, а ваш код самым быстрым и надёжным. Получится как всегда получается у новичков. Если вас так сильно интересует веб, то с ознакомления с вебом и начинайте. Там нет никаких таких языков. Начните со статических страничек на своём диске (без веб-серверов). Когда придёт понимание того, что HTML, CSS и JS есть на клиенте, в браузере, а всякие PHP\C#\Java\Scala\Шмала на сервере и обмен между ними идёт в виде текстовых запросов-ответов, тогда уже можно начинать подбирать язык для бекэнда. А сейчас это вообще мимо делать, когда вы не можете отличить фронтэнд от бекэнда и не собираетесь JS использовать на клиенте.
3
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|||
| 10.12.2019, 20:45 [ТС] | |||
|
Разные люди советуют по разному. Я не знаю, почему должен считать, что они не правы, а Вы правы. Думаю, что когда соберу больше информации, смогу принять более правильное решение.
0
|
|||
|
14353 / 9456 / 1360
Регистрация: 21.01.2016
Сообщений: 35,650
|
|
| 10.12.2019, 22:15 | |
|
supmener, вам люди уже как один советуют начать и перестать собирать информацию обо всём подряд совершенно не понимая вещей, для которых эта информация бесполезна. Я посоветовал начать с веба в виде статики не потому, что я считаю что так правильно, а все остальные - дураки. А потому, что бы вы уже начали хоть с чего-то.
Вы с какого-то обратного конца подходите к делу. Обычно сначала определяются с целями и потребностями, а потом уже выбирают средства и инструменты. А вы фиг знает, что ищите и фиг знает для чего. Но обязательно, что бы самое лучшее и без багов в компиляторе\трансляторе. Хотите "писать сайты" и уже знаете в каком-то виде питон? Так начинайте на нём! Есть даже фреймворк для этого - django. А может ещё какие. И с базами данных питон работать умеет. В чём проблема-то? Какую информацию вы собираете? Или цель просто болтологией позаниматься? Все из обсуждаемых тут языков используются в веб-разработке. Какие-то меньше (по разным причинам), типа функциональных или неуправляемых. Но остальные - очень широко. И крупные, сложные и надёжные проекты на них делают. Всё упирается в наличие головы и желания. А ходить выбирать лучшее по бог знает каким выдуманным критериям можно вечно.
1
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 11.12.2019, 09:22 [ТС] | |
|
Некогда статикой в вебе заниматься сейчас, так как изучаю основы Python.
Функциональное программирование в C#
0
|
|
|
14353 / 9456 / 1360
Регистрация: 21.01.2016
Сообщений: 35,650
|
|
| 11.12.2019, 09:35 | |
|
supmener, тогда нафига эти вопросы про веб, если заниматься им некогда?
0
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 11.12.2019, 10:01 [ТС] | |
|
Это на будущее интересуюсь.
0
|
|
|
5044 / 1071 / 149
Регистрация: 29.01.2013
Сообщений: 6,255
|
|
| 11.12.2019, 10:50 | |
|
supmener, но раз некогда, то почему вы уделяете этому время сейчас?
0
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 11.12.2019, 11:03 [ТС] | |
|
Потому что иногда думаю об этом.
0
|
|
|
|
||
| 11.12.2019, 12:48 | ||
|
(Про Pattern matching соврал, но его частично имитируют через словарь )И применение всего этого еще не делает автоматически ваш код функциональным (в плане следования парадигме). Ну а LINQ из C# вы никогда не освоите без довольно серьезного знания самого C#. Кстати, в Python just for fun даже сделали имитацию (частичную) синтаксиса LINQ для поклонников C#(pylinq) Хотя, большинству достаточно того, что практически любое LINQ выражение можно и так выразить средствами python: https://github.com/rogerwcpt/python-linq-samples
1
|
||
|
14353 / 9456 / 1360
Регистрация: 21.01.2016
Сообщений: 35,650
|
||
| 11.12.2019, 13:04 | ||
|
1
|
||
|
|
||
| 11.12.2019, 15:01 | ||
|
По поводу LINQ - вот более новая (и более продвинутая) либа, которая имитирует этот синтаксис в Python.
Linq.py Добавлено через 1 час 56 минут Кстати, по поводу языков программирования. Если вас интересует реальное положение вещей в мире, то есть такой уважаемый рейтинг как tiobe-index (Он оценивает популярность и востребованность языка) В пятерку лидеров входят Java, Си, Python, C++ и C#. Это все, кстати, мультипарадигменные языки. Тогда как чисто функциональные языки типа Haskell, F# или Scheme давно находятся на тридесятых позициях. Через месяц будет объявлен язык года.
P.S. Собственно, итожу: хотите изучать функциональные плюшки (а не посадить себя в клетку с ярлычком "функциональная парадигма наше все") - берите любой востребованный мультипарадигменный язык и изучайте. Механизмы (и суть) функциональных концептов практически одинаковы во всех ЯП и их знание автоматически переносится на другие ЯП. Исключение касается только каких-то особенных (и довольно сложных) плюшек вроде монад, которые другие языки не захотели заимствовать. В той же Scala разработчиков юзающих хитромонадный синтаксис люто ненавидят их коллеги, которым потом приходится это читать :-)
0
|
||
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 11.12.2019, 15:11 [ТС] | |
|
Так так и делаю. Только хочу после изучения императивного (процедурного) программирования перед оттачиванием навыков ООП в рамках этого же языка освоить функциональное.
0
|
|
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 12.12.2019, 06:00 [ТС] | |
|
0
|
|
|
|
|||||||||
| 12.12.2019, 08:34 | |||||||||
![]() ![]() прекратите эту ересь писать, пожалуйста ![]() Определись, чего хочешь для начала. Если веб - то фронт или бек, хотя бы. А дальше уже будет проще. С твоими знаниями, на уровне
пока даже задумываться не стоит о ФП...
0
|
|||||||||
|
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
|
|
| 12.12.2019, 09:50 [ТС] | |
|
То, что хочу сделать, должно работать на формах.
Вот попробовал, Google поиск работает. https://addons.mozilla.org/ru/... avascript/ https://chrome.google.com/webs... dggiiccfje
0
|
|
|
14353 / 9456 / 1360
Регистрация: 21.01.2016
Сообщений: 35,650
|
||
| 12.12.2019, 09:57 | ||
|
supmener, и причём здесь 100500 тем про функциональное программирование во всех ветках форума?
Добавлено через 44 секунды
0
|
||
| 12.12.2019, 09:57 | |
|
Криптография, многопоточное программирование, сетевое программирование Функциональное программирование
Функциональное программирование
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача
Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
Сигнатура
func Fetch(urls string, maxConcurrent int) Result
Пример
urls :=. . .
|
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition)
Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
|
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
|
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool
Worker Pool — паттерн конкурентной обработки задач в Go.
Суть: фиксированное количество горутин-воркеров читают задачи из общего канала
и пишут результаты в общий канал результатов. . . .
|
|
[golang] Pipeline
alhaos 08.06.2026
Pipeline
Pipeline — паттерн конкурентной обработки данных в Go.
Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
|
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь
lIs4oanZS9Y
|
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу.
До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|