Вы не вошли.
> а зачем вам uint64
См. начало топика, второе сообщение за собственным авторством ;-)
> Вам, может и удобнее
Я перешел на Перл с Си, по началу было крайне непривычно. Однако, возможности...
Вот еще пример: "John have $apple apple(s) for $name\n"; # Вместо конкатенации можно писать скалярные переменные прямо внутри строки.
Вне форума
Mike22, не пойму, что вам нужно? int - целые, uint - целые положительные. Нужны вещественные? Double, decimal и т.д.
На насчёт вывода строки, чем вам не нравится такая конструкция Console.WriteLine("John have {0} apple(s) for {1}\n":apple, name)?
Вне форума
Armanx64:
Я лишь говорю, что ошибка типизации есть даже в примере. А мы тут вроде как не школьники. Так зачем школьникам мозг выносить типизацией? Тем более, что многие современные языки допускают "плавающую" типизацию.
Конструкция типа sprintf-овской мне не нравится, поскольку неудобна при большом числе переменных и (зачастую) требует типизации.
Вне форума
никто не заставляет вас юзать uint
Вне форума
Товарищ излагает, почему С не подходит для обучения.
Вне форума
Товарищ излагает, почему С не подходит для обучения.
У человека явно паскаль головного мозга. Практика показывает, что влияние паскаля на мозг студентов таково, что они после него, уже получив диплом, обычно не понимают программирования.
.:``́3̶E̶P̶O̶W̶h̶`́`:.
Вне форума
Linux_must_die!:
Имхо, почти все верно. Синтаксис Си ставит в тупик даже людей знакомых с указателями и ассемблером, а отсутствие элементарной операции сложения строк является абсолютным злом.
Немаловажный фактор, хоть его пропустили в статье, это контроль за ошибками. Паскаль предупредит о выходе за границы массива, например.
Однако, проблема #include - надумана, в Паскале тоже почти сразу идет use Crt; Так что, концепция "это заголовок, запомните его дети, потом поймете" - имеет право на существование.
Забавно, что почти все вышеперечисленные проблемы отсутствуют в перле:
Типичный хеллоуворд будет выглядеть так: print "Hello world!\n";
Никаких main-ов или begin-ов.
Вне форума
Си, паскасль, си, паскаль.Надоели.Хотите школьный предмет "программирование" как органичное дополнение к предмету "математика" - учите детей простенькому ФП.
С помощью Standart ML или той же схемы.
Анархия-мама сынов своих любит
Вне форума
Я скажу, что рад, что мы изучали паскаль. После него к C# прощё подойти.
В чём преимущества C#?
1)Всё, даже типы данных - это классы. А значит, с ними можно делать дофига всего. Полное ООП.
2)Нехилая система защиты от дурака.
3)Возможность применить везде, где .NET - а это огромнейшая сфера. Сомневаюсь, что C++ может таким похвастаться.
4)Есть всё, что нужно. Мне, во всяком случае.
Вне форума
Я скажу, что рад, что мы изучали паскаль.
Хммм... Лично я тоже против Pascal ничего не имею. Разве что он старый как тысяча чертей.
Вообще я считаю, что задача первого языка программирования в жизни школьника/студента - это научится мыслить на основе этого языка, а также осознать бездну между машиной и человеком.
3)Возможность применить везде, где .NET - а это огромнейшая сфера. Сомневаюсь, что C++ может таким похвастаться.
We'll force you to be nice to each other
Kill you before you kill each other
Вне форума
spoilt, клиника Кащевского ждёт вас.
.NET - это и C++ и C# и VB, питон, и делфи. Даже J#(ака Java) был когда-то, JScript. Всё это пгоддерживается .NET.
А понты, типа "на таком языке переговоры ведутся лучше" - это глупость. В конце концов - среда определяет, во что превратится ваш код на языке программирования.
Вне форума
Кащевского
Не знаю таких.
.NET - это и C++ и C# и VB, питон, и делфи.
Да без разницы. Я вот сейчас могу вообще выпендрится и указать на Kawa, которая интегрирует древний Scheme в JAVA и сказать что Scheme - ну очень крутой язык.
А понты, типа "на таком языке переговоры ведутся лучше" - это глупость.
Вот тут соглашусь. Вообще языки программирования это как сидушки к велосипедам. Главное чтобы заднице комфортно было. И без сидушки ездить не удобно, но и такие есть (фанаты асма).
We'll force you to be nice to each other
Kill you before you kill each other
Вне форума
Просто почему C# - , что это самая мягкая и самая высокая седушка к .NET))
Вне форума
Просто почему C# - , что это самая мягкая и самая высокая седушка к .NET))
А зачем в школе или на ранних курсах универа .NET?Это, по мнеьшей мере, не этично.
Анархия-мама сынов своих любит
Вне форума
или на ранних курсах универа .NET?
Нормально это. Посмотришь, для чего нужен С#, поймёшь, что фигня, и забьёшь на него.
По сабжу. В обучении надо использовать черепашку, а потом С++. Тока так.
Для обучения, имхо, луче использовать python, а не C# и pascal, т.к. первый идет с жесткой привязкой к винде, а второй морально устарел.
winlinuser, согласен. Это и алгоритмичный язык + ООП + легкий + дети смогут хоть игры на нем простые делать легко через напр. SDL биндинг pygame, а это для начинающего важно - распробовать самое интересное))
Mike22, а вот Перл уже можно учить как вступление в Си-подобные языки или для вэб/Unix администрирования.
Интеллигент боится лишь одного — касаться темы зла и его корней, потому что справедливо полагает, что здесь его могут сразу выeбaть телеграфным столбом.©
Вне форума
???
капец.. ВБ на 5м месте.. это что же выходит, ВБ больше не быдлокод? 
Интеллигент боится лишь одного — касаться темы зла и его корней, потому что справедливо полагает, что здесь его могут сразу выeбaть телеграфным столбом.©
Вне форума
ВБ больше не быдлокод?
Вообще по-моему можно плодить быдлокод на любом языке. Хотя все равно это будет зависить от порога вхождения для языка.
We'll force you to be nice to each other
Kill you before you kill each other
Вне форума
Вообще по-моему можно плодить быдлокод на любом языке. Хотя все равно это будет зависить от порога вхождения для языка.
Ага, некоторые вот на суперсложном C++ (++!) и то плодят быдлокод.
Вне форума
Ага, некоторые вот на суперсложном C++ (++!) и то плодят быдлокод.
Индусы, штоле? Дык это у них национальное 
Интеллигент боится лишь одного — касаться темы зла и его корней, потому что справедливо полагает, что здесь его могут сразу выeбaть телеграфным столбом.©
Вне форума
Gentoo:
Не очень понимаю, каким образом перл, язык высокого уровня да еще и с резко отличающимся синтаксисом может служить вступлением в "Си-подобные языки".
Еще меньше я понимаю зачем детям вообще нужен Си. Почему бы тогда сразу не ассемблер?
Вне форума
Не очень понимаю, каким образом перл, язык высокого уровня да еще и с резко отличающимся синтаксисом может служить вступлением в "Си-подобные языки".
Да не прям такой там резко-отличающийся синтакс. Структура кода очень похожа, как и в Java. Ключевые понятия и идеи можно очень хорошо по перлу выучить.
Еще меньше я понимаю зачем детям вообще нужен Си. Почему бы тогда сразу не ассемблер?
Не
0_0 не соглашусь, Си штука серьезная и полезная. Я бы ввел в обязательную школьную программу. Не думаю, что при изучении Си могли бы возникнуть сложности, как при изучении асм.
Но не будем спорить, не нам эт все вводить 
Интеллигент боится лишь одного — касаться темы зла и его корней, потому что справедливо полагает, что здесь его могут сразу выeбaть телеграфным столбом.©
Вне форума
Gentoo:
1. Другие кейворды. Было очень непривычно переходить на next / last с continue / break, например. Тысячи их на деле.
2. Другие области видимости. Аналогов my / local в Си просто нет. К примеру: for (my $i=...) - переменная $i будет определена только внутри цикла, если она существовала и до цикла, то будет переопределена, но по окончанию цикла восстановлена.
3. Принципиально другая типизация. Нет разделения на строку, число или указатель. Тип переменной определяется значком. Т.е. могут существовать одновременно $i, @i, %i. Полное отсутствие типизации массивов и ассоциативных массивов - любой элемент может иметь любой тип.
4. Никаких жестких конструкций, но зато есть хеш-массивы любой глубины. Да и вообще, ассоциативные массивы в классическом Си не встречаются.
5. Зависящий от контекста результат функций - одна и та же функция может вернуть как скаляр, так и массив.
6. Принципиально другая передача параметров в функцию - они видны в функции как массив @_, причем их количество и тип указывать не обязательно.
7. Умолчания. Тысячи их. К примеру: print while (<>); Переменные $_, @_, $1-$9, <>.
8. eval, добро пожаловать в языки высокого уровня.
9. Регулярные выражения вшитые в сам язык. Например: my $s=($text=~/(\d+) год/)[0] || 'неизвестно';
10. Отсутствие модели strict по умолчанию. Т.е. по-умолчанию можно не объявлять переменные вообще.
11. Отсутствие типа разделяющего строки и числа приводит к другим операциям при сравнении или сложении переменных. $a + $b - это численный контекст, так что 'это' + 'строка' == 0, а вот $a . $b - строчный, так что '100' . '1' == 1001. В ecma-скриптах есть автоконвертация, но это совсем другое. Например, if ($a > 0) в перле всегда проверяет числовой контекст, а в ecma - последний используемый, если последний был строкой, то if (a > 0) выполнится если длинна строки больше нуля, т.е. при "0", например.
12. Это язык высокого уровня. Никакого секса с вылетанием за границы буфера или представлением строки как массива символов заканчивающегося \0
Подытоживая. Разница между Си и Perl не просто велика, она огромна. И если после Си на Perl еще можно пересесть, хоть и первые годы человек будет писать программы как сишник, уродуя красивые и лаконичные конструкции Perl, но пересесть с Perl на Си - почти невозможно.
ЗЫ.: Ассемблер на порядок проще Си, в нем всего-то десятка два разных команд и уровень необходимый для понимания доступен даже десятилетнему ребенку - это как конструктор из простейших элементов. Однако, мне представляется спорным изучение ассемблера - он умер уже давно. Классический C тоже умер. Если что-то и изучать, так это ECMA-скрипты, они везде. Или языки высокого уровня. Остальное имеет слишком специфическую область применения даже сейчас, а уж через 10 лет...
Отредактировано Mike22 (18-06-10 11:01:03)
Вне форума
У нас на четвёртом курсе дают выбор - либо .NET либо жаба. С помощью демонстрации возможностей только WPF преподу, я намекнул, что хочу я))) Препод оценил)))
Вне форума
[ Сгенерировано за 0.012 сек, 7 запросов выполнено - Использовано памяти: 1.76 Мбайт (Пик: 1.84 Мбайт) ]