Подтвердить что ты не робот

Преимущества схемы обучения?

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

Языки, такие как LISP (и очень близкая схема), предназначены для программирования того, что латинский означает английский.

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

То же самое верно для Схемы.

Ответ 3

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

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

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

Это, вероятно, лучшая книга, написанная на Схеме.

Ответ 4

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

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

Кстати, лучшая IDE для схемы DrScheme, и она содержит языковые расширения, чтобы делать все, что вы можете сделать на другом языке, и если вы найдете что-то, то вы не можете просто использовать C FFI и написать его самостоятельно.

Ответ 5

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

Ответ 6

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

Ответ 7

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

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

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

Ответ 8

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

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

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

Схема на самом деле не является функциональным языком, это скорее метод agnostic. Возможно, более важно, что Scheme - отличный язык для выбора, если вы хотите исследовать различные методы вычисления. В качестве примера был построен высокопараллельный функциональный язык "Termite" поверх Схемы.

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

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

Ответ 9

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