Вопрос

Я только начал один из своих курсов, так как занятия начались только 2 недели назад, и мы изучаем Scheme прямо сейчас в одном из них, потому что я предполагаю, что по какой-то причине позже, но пока он преподает не то, как писать по схеме. .Пока я сижу здесь, пытаясь не заснуть, я просто пытаюсь понять, почему мне хотелось бы это знать и почему кто-то этим пользуется.В чем он превосходен?На следующей неделе я планирую спросить его, какова цель обучения здесь, кроме того, как просто писать вещи по схеме.

Это было полезно?

Решение

Это функциональный язык программирования, который расширит ваш опыт.

Даже если вы не используете его в реальном мире, это не значит, что он не имеет никакой ценности.Это поможет вам освоить такие вещи, как рекурсия, и заставить вас думать о проблемах иначе, чем вы обычно.

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

Другие советы

Такие языки, как LISP (и очень тесно связанный с ним Scheme), для программирования являются тем же, чем латынь для английского языка.

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

То же самое справедливо и для схемы.

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

Хотя он не такой невероятно быстрый, как компилируемый язык, и не особенно полезен при обслуживании веб-сайтов или синтаксическом анализе текста, я обнаружил, что Scheme (и другие липы по расширению) не имеет аналогов, когда дело касается простоты, элегантности и мощных функциональных манипуляций. сложных структур данных.Честно говоря, я думаю в Scheme.Это язык, на котором я решаю проблемы.Не сдавайтесь и не терпите Scheme — дайте ему шанс, и он вас не разочарует.

Кстати, лучшая IDE для Scheme — это ДокторСхема, и он содержит языковые расширения, позволяющие делать все, что вы можете делать на другом языке, и если вы обнаружите что-то, чего нет, вы можете просто использовать C FFI и написать это самостоятельно.

Некоторые люди говорят, что самая сильная сторона Scheme — это язык обучения.Хотя изучать функциональное программирование очень полезно (это совершенно новый образ мышления), еще одним преимуществом схемы обучения является то, что она также «чиста».Конечно, он не может делать массу вещей, таких как Java, но это тоже его достоинство: это язык, полностью состоящий из круглых скобок, буквенно-цифровых символов и всего лишь нескольких других знаков препинания.

На моем вводном курсе нас изучают Java, и я вижу, как многие мои друзья борются с «public static void main», хотя суть программы не в этом, и у профессоров нет другого выбора, кроме как «махать рукой», пока они не мы более продвинуты.Вы не увидите этого в схеме.

Если вы действительно хотите узнать, что Scheme может сделать с легкостью, что действительно сложно реализовать на таких языках, как Java, я предлагаю посмотреть это: http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-12.html#%_sec_1.3

Вероятно, это лучшая книга, написанная по Scheme.

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

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

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

Однако чему я научился у них, так это тому, как лучше писать код на C и Java.Это просто из-за другого стиля программирования, который я изучил.Я адаптировал большую часть функционального стиля к некоторым своим программам, и в некоторых случаях это мне помогло.

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

Постарайтесь не зацикливаться на таких деталях, как круглые скобки и car/cdr.Большая часть того, что вы изучаете, так или иначе переводится на другие языки.Не беспокойтесь о том, сможете ли вы вывести Scheme на рынок, скорее всего, вы будете изучать другие, более востребованные языки на других курсах.То, чему вы здесь научитесь, важнее.

Если вы изучаете схему, вы можете узнать все о том, как реализуются объектные системы (подсказка:объектная система не всегда представляет собой тип, к которому привязаны методы и переменные экземпляра...).Хотя такого рода знания не помогут в 95% вашей повседневной работы, в 5% вашей работы вы будете зависеть от этих знаний.

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

Scheme на самом деле не является функциональным языком, он больше не зависит от метода.Более того, Scheme — отличный язык, который можно выбрать, если вы хотите изучить различные методы вычислений.Например, на основе Scheme был построен высокопараллельный функциональный язык «Термит».

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

Если вам нужна помощь, чтобы сделать программирование на схеме более приятным, не бойтесь спрашивать.Многие программисты зацикливаются (например) на скобках, хотя существуют отличные способы работы с исходным кодом схемы, в которых круглые скобки заслуживают внимания, а не ненависти.Например, emacs с режимом paredit, своего рода режимом взаимодействия со схемой и режимом выделения скобок — это довольно круто.

Функциональные языки, такие как Scheme, имеют большое применение в математике, искусственном интеллекте, лингвистике и других высокотеоретических областях информатики (машинное обучение, обработка естественного языка и т. д.).Это связано с чистотой функциональных языков программирования, которые не имеют побочных эффектов, а также с их способностью легко перемещаться по процедурам более высокого порядка.Хорошее знание языков функционального программирования имеет решающее значение для решения многих вопросов, которые выходят за рамки информатики.В качестве бонуса вы отлично освоите процедуры высшего порядка и рекурсию.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top