Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Голосования _ Вопрос про си

Автор: Dark 15.05.2003 3:40

Люди, приведите мне пожайлуста 10 отличий си от паскаля(не касаясь синтаксиса)... А то передо мной стоит дилема: изучать си или нет, но я не вижу разницы между си и пасом!!!!!!!!!

Автор: Deny 15.05.2003 13:54

  1. Все Си, объектно-орентированные языки - этим все сказано. Паскаль - ООП язык? Нет! Или как? Может я головой повредился?

    Если ты скажешь, что тебе ООП не надо, то я не перестану с тобой разговаривать, но придется подождать до твоего совершеннолетия (без обид ;))
  2. 99% осей написано на Сях, Linux, Windows и т.д. - это же не случайно!
    На Пасе я чета не знаю осей (мож я ошибаюсь)
    50% системных прог - тот же на Сях (не утверждаю)
  3. Скорость работы Си много-много больше Паса, скажу да же, что на первом месте после асма.
Доводов пока хватит?

И еще, ты ставишь вопрос так: изучать Си или нет. Я считаю - изучать, вопрос же не стоит так, что: отказываться от Паскаля или нет.

З.Ы.
Как я уже писал C# - язык (ближайшего) будущего, а переход от С/С++ к С# занимает ПОЛшага, (ну если еще надумаешь на JAVA++, то переход займет пару шагов), на/с Паскаля это займет много больше.

Автор: ___ALex___ 15.05.2003 19:40

Delphi изучай...
Я думаю логичней его изучать после Турбо Паскаля, с ООП там всё прекрасно.
Короче делай всё что хочешь

Кто говорит что Delphi - это рисовалка форточек - они его не знают толком. Кто его знает хорошо - тот может с помощью него решить практически любую задачу. Вообще не в языке дело...

Это как сказал один НАСТОЯЩИЙ профессионал - по ходу пьесы когда возникнет острая необходимость - тогда изучишь Си, это не составит особого труда. А так лучше Delphi + Win32 API и т.д.

Автор: Deny 15.05.2003 22:20

Во-во, делай все, что хочешь. А приспичит выучишь.

Логичней Дельфи.
Зная Паскаль - учить Дельфи не придется (в переносном смысле конечно), согласны?
Так в чем выбор? ДОучить Дельфи или научиться тому чего не знаешь совсем, а потом (уже взвешанно) выбрать, что изучить досканально?

Дельфи не унижаю, но он всерно, как-то отдельно стоит, а с Сями, со временем несколько зайцев сможешь убить разом (С/С++,[JAVA/J++/JAVA++],C#,F#,J#,VB7,ASPX и др.)

З.Ы. Как уже было сказанно - "вообще не в языке дело..."

З.З.Ы. Я ни на чем не настаиваю.

Автор: ___ALex___ 15.05.2003 22:53

Deny, согласен с каждым словом smile.gif

Автор: Deny 15.05.2003 23:18

Забыл добавить в список новый диалект Си - Cg.
Это С++ заточенный под 3D-суперграфику (от nVidia).
Так что, еще один довод тем, кто хочет язык учить и/или тем, кто хочет графикой заняться.

Напомню, что C# создавался создателями TP и Дельфи, не думаю, что они взяли за основу С++ и не взял ни чего из (своих же!) TP и Дельфи, из-за денег или еще чегонить такого.

Автор: mj 16.05.2003 0:03

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

Тоже помоему наблюдается и с Perl и PHP... Perl - пережиток общества, всё больше и больше отдают предпочтение языку PHP...

Тут всё просто ;)

Автор: Dark 16.05.2003 3:52

Вопрос: А CGI BIN это тоже Perl? ;D

Нда, скорей всего я буду изучать СРАЗУ 3-4 языка... Perl, CPP, Pascal (вечно изучаю... с 7 класса... а до конца так далеко... ;D ;D) и Ассемблер.

А язык HTML и JS щас развиваются?

Добавлено (через 4 минуты):
Ну и Дельфи конечно... ;D

Добавлено (через 3 минуты):
Да, кинь ссылку на NVIDIA си плиз

Автор: Alesha_GA 16.05.2003 8:40

Хочеш не хочеш, а Си учить всё равно придётся...

Pascal forever!

Автор: Deny 16.05.2003 14:27

Цитата
Вопрос: А CGI BIN это тоже Perl?  ;D
Нда, скорей всего я буду изучать СРАЗУ 3-4 языка...
А язык HTML и JS щас развиваются?

CGI - это ТЕХНОЛОГИЯ, это НЕ язык! Это скрипт (обычно), он может быть на любом языке, обычно это Perl,PHP,C/C++,да же ASM, и др.
ASP - это то же своего рода CGI.
BIN (не мистер Бин) - это папка, где обычно лежат скрипты CGI.

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

Языки HTML, JS, VBS - не развиваются, они и НЕ должны развиватся!
Тебя наверное интересует, что-то вроде XML,J#,JAVA++,VB.NET, короче все, что касается ASPX и др.

Добавлено (через 10 минут):
Цитата
Да, кинь ссылку на NVIDIA си плиз

Это называется Cg.
http://developer.nvidia.com/view.asp?PAGE=cg_main

Добавлено (через 6 минут):
Цитата
Хочеш не хочеш, а Си учить всё равно придётся...
Я считаю так, с чем работать интимное дело каждого, но знать (хоть поверхностно) нужно как можно больше (по крайней мере по одному языку из "лагеря"). Моя рекомендация минимум, это: C/C++, ASM, C#. Получается три языка из трех разных уровней.

Автор: Alex 16.05.2003 14:48

Продолжение Deny:
А в случае необходимости намного легче вспомнить, чем учить!

Автор: Slam 16.05.2003 19:58

Паскаль - базовый язык, легко воспринимаемый для изучения.
Я считаю, что любому программеру нужно сначала ознакомиться с Пасом, а затем с другими языками(легче будет усвоить)
Я думаю процентов 20 начинали НЕ с Паскаля :-/

Автор: Deny 16.05.2003 20:48

Любой нормально организованный язык легок в изучении.
Это лишь исторически Паскаль преподают со школы и далее.
Я вот, в технаре когда учился, у нас поначалу Басик (просто Басик) был, потом Си и другие добавились. А Паскаля небыло совсем.

В реальной работе (а я программеров из многих контор знаю) используют все, что угодно, но только не Паскаль (1-3% Дельфи), и к чему тогда знать Паскаль, если всерно будешь другим заниматься. Если есть желание и способности, лучше изучать сразу (конечный вариант), а не постепенно. Так сказать, с места в карьер.

Автор: mj 16.05.2003 21:24

Цитата
Я вот, в технаре когда учился, у нас поначалу Басик (просто Басик) был, потом Си и другие добавились. А Паскаля небыло совсем.

Теперь я понимаю почему ты такой сторонник Си

Цитата
В реальной работе (а я программеров из многих контор знаю) используют все, что угодно, но только не Паскаль (1-3% Дельфи), и к чему тогда знать Паскаль, если всерно будешь другим заниматься. Если есть желание и способности, лучше изучать сразу (конечный вариант), а не постепенно. Так сказать, с места в карьер.

Про Pascal согласен, а вот про Delphi нет... Всё чаще и чаще используется Delphi и всё реже и реже Си, да я ещё про визуальный Си молчу, который ваще вымер...

Автор: ___ALex___ 16.05.2003 21:40

Я ж говорил уже!
Кто ничерта о Delphi не знает тот говорит что-то о нём плохое
Deny
Хотя бы взглянуть на тип String Object Pascal-я!
Он намного круче PChar, хотя и PChar там есть - и есть только для того чтоб можно было юзать его в апишных ф-ях

Автор: Deny 16.05.2003 21:55

Цитата
Теперь я понимаю почему ты такой сторонник Си

Про Pascal согласен, а вот про Delphi нет... Всё чаще и чаще используется Delphi и всё реже и реже Си, да я ещё про визуальный Си молчу, который ваще вымер...

Не по этому я сторонник Си. Да и вообще я не сторонник Си, я скорее сторонник C# и всего того, что входит в понятие ASPX.

Про Дельфи ты меня не так понял. Я не утверждаю, что он чем-то плох, я говорю лишь о том, что среди моих знакомых почти нет Дельфистов (может потому и нет)

Добавлено (через 12 минут):
Цитата
я ж говорил уже!
кто ничерта о Delphi не знает тот говорит что-то о нём плохое
to Deny
хотя бы взглянуть на тип String Object Pascal-ля!
он намного круче PChar, хотя и PChar там есть - и есть только для того чтоб можно было юзать его в апишных ф-ях

Я Дельфи знаю (не скажу, что отлично), и ни где не говорю о нем плохое. Я да же балуюсь с ним иногда ;D. String Object он конечно круче PChar, но они для разных дел нужны. Загляни в ту же VS7 там такое для String накрученно, что книгу целую написать можно.

И еще, я все писал относительно голого C/C++, а не про Visual. И потому сравнивать нечего. Дельфи - это один уровень, C/C++ (не visual) - это уровень ниже. Это же как сравнивать HTML с ASMом (в переносном смысле конечно).

Добавлено (через 6 минут):
Цитата
да я ещё про визуальный Си молчу, который ваще вымер...

Визуальный Си не вымер и вымрет не скоро, хотя MS очень старается зделать это, она C# взамен продвигает. Врать не буду, функции визуалного я ни когда не любил и старался не использовать, все выше сказанное относится к не визуальному C/C++.

Автор: Dark 17.05.2003 3:24

Угу, я учел все мнения  ;D
Вопрос 1. Что такое .H файлы, и для чего они и как использовать

Вопрос 2. Куда делись некоторые из операторов цикла и зачем ТАК все извращать(for i=0;i<100;i++) я в смысле по записи - пока разбирался who is what провел за си где-то час, изучая конструкцию

Вопрос 3. Где операции div и mod?

Автор: Alex 17.05.2003 12:59

1. Типа наших .tpu. Там собранны различные функции, констанаты и т.д. как я понимаю!!
Если что-то не так поправьте меня!

Добавлено (через 10 минут):
2. Захотелось наверное так.
Да и конструкция немного другая:
for (i=0;i<100;i++)
3.Наверное в заголовочном файле math.h!
#include <math.h>

Автор: Deny 17.05.2003 15:45

Цитата
Угу, я учел все мнения  ;D
Q1. Что такое .H файлы, и для чего они и как использовать

Q2. Куда делись некоторые из операторов цикла и зачем ТАК все извращать(for i=0;i<100;i++) я в смысле по записи - пока разбирался who is what провел за си где-то час, изучая конструкцию

Q3. Где операции div и mod?

A1.
h-файлы, это заголовочные файлы, там обычно находятся такие вещи как,
описание структур, описание типов (пользовательских), прототипы функций, да и вообще там можно держать все, что угодно. В большенстве случаев используются готовые h-файлы, например:
string.h - описание процедур работы со строками,
ctype.h - работа с символами,
stdlib.h - различные функции,
iostream.h,fstream.h - описание процедур ввода-вывода,
math.h - математика.
Подключаются h-файлы дерективой #include <math.h> если файл "встроенный", иначе #include "myheaderfile.h"

A2. Циклы.
Все очень просто.
Каких операторов не хватает? Где тут извращение? Ты учить хочешь или критиковать?
for(i=0;i<100;i++)
     ТЕЛО ЦИКЛА ОДНОЙ СТРОКОЙ
или
for(i=0;i<100;++i)
{
     ТЕЛО
     ЦИКЛА
     В НЕСКОЛЬКО
     СТРОК
}
объявляем и присваеваем переменной (здесь i) значение (0), выполняем один раз следующию ОДНУ строку. Если нам надо выполнить не одну строку, то берем их в {}. Т.к. у нас ++ стоит справа от i, то только теперь увеличиваем переменную на 1 (оператор i++), если ++ стоит слева, то сперва i увеличиваем на 1 (оператор ++i) и только потом выполняем тело цикла. Цикл будет выполнятся до тех пор, пока не выполниться условие (здесь i<100). Так же используется оператор -- (i--,--i), только теперь меняется направление.

while(i<100)
     i++
или
while(i<100)
{
     ТЕЛО
     ЦИКЛА
     В НЕСКОЛЬКО
     СТРОК
i++
}

do
    i++
while(i<100)
или
do
{
     ТЕЛО
     ЦИКЛА
     В НЕСКОЛЬКО
     СТРОК
i++
}
while(i<100)
тут я думаю все понятно.

То же самое и на C#
плюс еще foreach - циклы:
foreach(КОЛЛЕКЦИЯ)
{
РАБОТА С ЭЛЕМЕНТАМИ КОЛЛЕКЦИИ
}

Точно так же и на Перле:
for($i=1;$i<100;$i++){
ТЕЛО ЦИКЛА
}


A3. div и mod
тут вообще элементарно.
div - это "/", mod - это "%" вот и все.
Пример: 20/3 = 6, 20%3 = 2.
И ни какого math.h не надо.
То же самое в C#.
Точно так же и на Перле.

Dark жду вопросов.

Автор: Alesha_GA 19.05.2003 6:19

Диалект Си сплошное изврашение, особо после Паскаля.

2Dark: Что-бы узнать названия функций из H файла: Открываеш его блокнотом и читаеш.

Pascal+Asm=Rulez.

Автор: Alex 19.05.2003 18:42

Цитата
Диалект Си сплошное изврашение, особо после Паскаля.

Ничего, можно привыкнуть!!
Цитата
A3. div и mod
тут вообще элементарно.
div - это "/", mod - это "%" вот и все.
Пример: 20/3 = 6, 20%3 = 2.
И ни какого math.h не надо.
То же самое в C#.
Точно так же и на Перле.

А как же тогда деление не нацело!!

Вопрос:
Раскажи про указатели их использование и на кой они нужны, динамическую память и использование ее для массива произвольной размерности(в пределах 64 kb). А то эту темц я не очень провариваю!

Автор: Deny 19.05.2003 20:24

Цитата
Диалект Си сплошное изврашение, особо после Паскаля.

Pascal+Asm=Rulez.

А ты у нас типа знаток всех диалектов, всех языков.... вот и пиши все на Паскале, ты на нем наверное и разговариваешь... ???
Не хочешь учить - не надо, тебя ни кто не заставляет. >:(
Ты бы не позорился своими заявлениями, до того как сам разберешся, да же написать правельно не смог, Си - это язык, а не диалект.

Любой язык+Asm=Rulez.

Добавлено позже:
Цитата
Q4: А как же тогда деление не нацело!!

Q5: Раскажи про указатели их использование и на кой они нужны,

Q6: динамическую память и использование ее для массива произвольной размерности(в пределах 64 kb). А то эту темц я не очень провариваю!

A4:
Тут все еще проще, если в операции учавствует число не типа int, то и результат будет не типа int.

A5:
Указатель - это особый тип переменной, он содержит адрес какой-то переменной обычного типа. Создается он например так:
int *ukazatel;
звездочка обозначает, что переменная ukazatel является типом "указатель", а int, что она будет указывать на переменную типа int. Допустим, у нас есть переменная peremennay типа int:
int peremennay;
со значением 123,
peremennay = 123;
зделаем так, что бы наш указатель указал на нее, для этого есть операция "&"
ukazatel = &peremennay;
если теперь мы посмотрим на значение нашего указателя, то оно будет похожим на подобие этого, 0x0012FE20
это число на самом деле не число (результат абстракции), а адрес в памяти, где лежит начало переменной на которую мы указываем.
Теперь мы можем обратиться к нашему числу 123 двумя способами.
Так peremennay -= 23; или так *ukazatel -= 23; все с то же зведочкой,
в обоих случаях наша переменная будет содержать число 100.

С помощью указателей можно создать безымянную/динамическую переменную, для этого есть операция new,
int *uk;
uk = new int;

к стате можно писать сразу так
int *uk = new int;
теперь указатель uk указывает (содержит адрес памяти где начало) на переменную типа int не имеющию названия/имени.
Для того, что бы освободить память (вернуть в кучу) от не нужной нам больше переменной, есть операция delete, например delete uk

Так как переменные различних типов и тем более целые структуры занимают по нескольку (теоритически сколько угодно много) ячеек памяти, то представте сколько займет времени у процессора, что бы к примеру передать какую либо большую структуру/переменную в какую-то функцию, да еще и получить обратно новое значение.
Если функция работает один раз, то это еще ничго, а если 10....100 тысяч раз?
Как выход из положения и существуют указатели, они каротки, и в функции передаются значительно быстрей,т.к. содержат только адреса начал нужных структур/переменных, а не непосредственно грамоздкие структуры/переменные.

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

Динамические массивы создаются точно так же:
int *arr = new int[100];
создали указатель на переменную типа int и присвоили ему значение адреса первого элемента из 100 элементов типа int. Для того, что бы освободить память используется таже операция delete, но теперь со скобками, что обозначает, что мы хотим удалить весь массив, а не, только первый элемент,
delete [] arr;

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

Над указателями можно проводить арифметические операции, например:
double *arr = new double[20];
значением arr будет адрес в памяти, например 0x0012FE31 указывающий на первый элемент массива, т.е. arr[0],
после операции arr + 1 или, что то же самое arr++,
arr будет указывать на следующий элемент массива arr[1], но адрес будет другим, 0x0012FE39, т.к. эти операции не просто тупо увеличивают адрес на единицу, а в зависимости от типа значений массива на нужное число байт.

Размерность массива может быть любой, т.к. мы работаем с указателями.

Автор: mj 20.05.2003 3:20

уроки очень даже интересны ;)

С одной стороны Си конечно черезчур изварёшь своими упрощениями, а с другой стороны это же удобно smile.gif

Но самый крутой-простой это PHP, Perl тоже крут, но упрощён/извращён в 100 больше чем Си...

Автор: Alesha_GA 20.05.2003 4:00

Цитата
А ты у нас типа знаток всех диалектов, всех языков.... вот и пиши все на Паскале, ты на нем наверное и разговариваешь... ???
Не хочешь учить - не надо, тебя ни кто не заставляет.  >:(

Си то я учу, но пишу на Pas'е.


Цитата
Ты бы не позорился своими заявлениями, до того как сам разберешся, да же написать правельно не смог, Си - это язык, а не диалект.

Имелся ввиду диалект языка Си. Поэтому ошибки нет.

Автор: Dark 20.05.2003 5:25

Т.е получается, что в h файле моно получить ве исходники процедур ??? :smile.gif :smile.gif :smile.gif

Добавлено (через 5 минут):
Мне дано: вводятся два числа, шеснац. и десят. перевести десят. в шесн а шесн. в двоичное... как это сделать?

Автор: Deny 20.05.2003 7:14

Цитата
Т.е получается, что в h файле моно получить ве исходники процедур ??? :smile.gif :smile.gif :smile.gif

В h файле лежат прототипы функций, структуры, константы, задаются новые типы данных, подключаются другие h файлы (каскадом) -
зделано это для того, что бы:
представь, что у нас есть исходник какой-то проги разпределенный на 10 cpp файлов, использующий какую-то функцию по нескольку раз практически в каждом из 10 cpp файлов, получается мы должны 10 раз объявить (написать прототип) этой функцию, что бы этого не делать, мы используем h файл, напишем прототип один раз, и 10 раз подключим этот h файл в наших cpp файлах. А теперь сам ответ, в h файлах лежат только прототипы функций, а не их тела. И последнее, по началу, пока наши проги маленькие, мы можем обходиться без h файлов, т.к. все, что в них написано, можно писать непосредственно в cpp файлах.

Добавлено (через 18 минут):
Цитата
Мне дано: вводятся два числа, шеснац. и десят. перевести десят. в шесн а шесн. в двоичное... как это сделать?

Вариант dec -> hex:
Код
#include <iostream.h>

int _tmain(int argc, _TCHAR* argv[])
{
     int a;
     cin >> a;
     printf("0x%Xn",a);

     return 0;
}

Именно вторая буква X определяет, что выводиться будет число в HEX виде,
можно написать x, но тогда буковки в числе будут маленькие, 0x вообще можно не писать.

Вариант hex -> dec:
Код
#include <iostream.h>

int _tmain(int argc, _TCHAR* argv[])
{
     int a;
     cin >> a;
     printf("%dn",a);

     return 0;
}

Здесь буква d (можно писать D) определяет, что выводиться будет число в десятичном виде, единственное условие, что бы вводимое число начиналось с 0x иначе оно будет трактоваться до первой буквы как десятичное, а от ближайшей буквы все будет отброшено.

Спаренный вариант:
Код
#include <iostream.h>

int _tmain(int argc, _TCHAR* argv[])
{
     int a;
     cin >> a;
     printf("HEX: 0x%XnDEC: %dn",a,a);

     return 0;
}


Добавлено (через 18 минут):
Цитата
уроки очень даже интересны ;)

Благадарю! ;D
Может все в отдельный раздел форума перекинуть, а то я вроде как не усебя, даже помодерить не могу.

Цитата
С одной стороны Си конечно черезчур изварёшь своими упрощениями, а с другой стороны это же удобно smile.gif

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

Цитата
Но самый крутой-простой это PHP, Perl тоже крут, но упрощён/извращён в 100 больше чем Си...

Про PHP vs Perl согласен. Одно маленькое, но веское замечание:
PHP (и Perl) язык скриптовый, на нем exeшник проблематично писать, да еще и без ОО (Объ.Орент.)

Добавлено (через 18 минут):
К стате, очень важный момент, для того, что бы писать в Си на АСМе, есть два варианта:
перед каждой мнемоникой писать "__asm" или после "__asm" взять код в скобки, пример:
Код
__asm mov eax,54
__asm add eax,6
__asm xor eax,eax

__asm
{
push ecx
push ebx
push eax
pop eax
pop ebx
pop ecx
}

Автор: Dark 21.05.2003 4:18

Большое спас за помощь... ;D просто не знаю, чтобы я придумывал, но все оказалось проще... :o

Да, я тоже за отдельный раздел ;D

Цитата
В h файле лежат прототипы функций, структуры, константы, задаются новые типы данных, подключаются другие h файлы (каскадом)


Хорошо, pas модуль компилируется (переводится в бинарный код) в tpu - а куда обращается h файл ???

Большое спасибо за этот форум, и всем, кто в нем участвует!!!! ;D :P

Добавлено (через 7 минут):
Кстати, я работаю с BC 3.0 ( ;D) Там тоже мона 32 бита регистры юзать??

Автор: AlaRic 21.05.2003 10:06

Кто еще за новый раздел?

Автор: Deny 21.05.2003 15:20

Предлагаю название:
"C/C++,C#,VB.Net,ASPX"
с единственным (пока) подразделом:
C/C++ FAQ,
вроде ни чего не забыл.

Автор: Alex 21.05.2003 16:25

Я!

Добавлено (через 12 минут):
А если нам не известна размерность массива и допустим ее надо вводить и как это сделать?
А указатели как я понял в основном нужны для ускорения программы!??Правильно я нонял или нет??

Автор: AlaRic 21.05.2003 17:54

Раздел будет называться "C and C++".
Подразделы что-то типа "Теория", "Практика"!

Автор: Noname 21.05.2003 18:34

Ребята, СТОП! forum.pascal.dax.ru - форум про паскаль (и про Дельфи). Как мне кажется этот раздел будет здесь лишним, да и потом (я уверен) сильно будет уступать специализированным С форумам... Давайте лучше брать качеством, а не количеством (2Д/3Д графикой, например, игрушками).


Re : Изучать С или нет?

 Если не начал изучать паскаль, то лучше начни с С...

Автор: AlaRic 21.05.2003 19:10

Мда....кто-то соображает  :)

Автор: Deny 21.05.2003 21:42

Цитата
Ребята, СТОП! forum.pascal.dax.ru - форум про паскаль (и про Дельфи). Как мне кажется этот раздел будет здесь лишним, да и потом (я уверен) сильно будет уступать специализированным С форумам... Давайте лучше брать качеством, а не количеством (2Д/3Д графикой, например, игрушками).

Re : Изучать С или нет? 
  Если не начал изучать паскаль, то лучше начни с С...

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

Добавлено (через 5 минут):
Цитата
Раздел будет называться "C and C++".
Подразделы что-то типа "Теория", "Практика"!

Не возражаю.

Автор: Alex 21.05.2003 21:52

Тяжело начинать изучение (на спец форумах), там где обычно собираются гуру -  полностью согласен! Там такие вопросы рабираются, что ой-ой-ой!Чайнику или начинающему там делать нечего!!!

Автор: Deny 21.05.2003 22:13

Цитата
А если нам не известна размерность массива и допустим ее надо вводить и как это сделать?
А указатели как я понял в основном нужны для ускорения программы!??Правильно я нонял или нет??

Создаем динамический массив произвольной длинны:
Код
int _tmain(int argc, _TCHAR* argv[])
{
int i, k=1, z=5, razmer = 10;
razmer *= 100;
int *arr = new int[razmer];

for(i=0;i<razmer;i++,k++,z++)
arr[i]=k*2+z;

delete [] arr;
     return 0;
}


Указатели нужны для обращения к объектам, как побочный эффект, это дает ускорение. Все дело в объектно-орентированности языка.

Автор: Dark 22.05.2003 5:33

По моему, указатели были введены для более рационального использования памяти, т.е. ячейки памяти очень удобно связывать в цепочки (почитайте Д.Кнута) и с ними работать: их удобно удалять, вставлять, сортировать,создавать,копировать... а также для работы с памятью, которая не выделяется компилятором для переменных, а то паскаль например при выходе за границы определенного размера начинает гнать, что слишком большой блок данных, а с поинтерами(указателями) все получается нормально.

Автор: Deny 22.05.2003 15:12

Цитата
По моему, указатели были введены для более рационального использования памяти, т.е. ячейки памяти очень удобно связывать в цепочки (почитайте Д.Кнута) и с ними работать: их удобно удалять, вставлять, сортировать,создавать,копировать... а также для работы с памятью, которая не выделяется компилятором для переменных, а то паскаль например при выходе за границы определенного размера начинает гнать, что слишком большой блок данных, а с поинтерами(указателями) все получается нормально.
Это верно на 100%.
Я это и имел ввиду - указатели нужны для обращения к объектам (которые естественно в памяти)

Добавлено (через 24 минуты):
Цитата
Хорошо, pas модуль компилируется (переводится в бинарный код)  в tpu - а куда обращается h файл ???
h-файл включается в cpp-файл. Далее все как в асме, копилируем в obj и линкуем в exe.

Автор: Alex 22.05.2003 17:42

Пример работы с указателями какой-нибудь напиши!

Автор: GLuk 24.05.2003 1:55

Тот кто хочет узнать про Си, вряд ли будет заходить на форум PASCAL.dax.ru. Я вообще против этого раздела, многие вопросы по паскалю то висят, а тут еще и си...

Автор: Shadow 24.05.2003 2:00

вот именно
-=-=-= :-X

Автор: Deny 24.05.2003 2:23

Цитата
Тот кто хочет узнать про Си, вряд ли будет заходить на форум PASCAL.dax.ru. Я вообще против этого раздела, многие вопросы по паскалю то висят, а тут еще и си...
Согласен, что про Си здесь искать не станут, но тема не для тех кто ищет Си, а для тех кто тут уже и хочет по полнить (освежить) голову. Может какие вопросы (по путно) по Паскалю решаться - увидев аналогию в Си, может на идеи какие нибудь свежие это на толкнет. Короче решение за вами (я то языки достаточно знаю, не посчитайте за понты).

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

Автор: Alex 24.05.2003 14:41

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

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

Автор: Noname 28.05.2003 10:34

Короче, делайте, что хотите... Создавать ветку или нет - решать в конечном счете админам. На мой взгляд С/С++ здесь будет лишним. раздел "borland/inprise C для ламаков" ? Ламакам С (к оным отношу и себя) советую купить книгу по си с соответсвующим названием...

Автор: GLuk 28.05.2003 20:28

Правильно!!!

Автор: Shadow 28.05.2003 21:55

10.gif

Автор: GLuk 28.05.2003 23:18

Что это значит, Shadow?

Автор: Deny 29.05.2003 0:28

Цитата
Что это значит, Shadow?

Неопределенность.

Добавлено (через 9 минут):
ЗА 70%, ПРОТИВ 30%
Что делать будем?

Предлагаю компромисс.
В раздел "Системы, Сети, Технологии" добавить пункт "Прочее",
где собственно и размещать вопросы ни как не касающихся Паскаля,
но не подходящие в раздел "Свободное общение".

З.Ы. Последние две строки можно использовать как описание раздела.

Автор: AlaRic 29.05.2003 22:57

Админы сообразят что-нибудь!

Автор: Deny 29.05.2003 23:19

А можно и на http://www.progz.ru/ всех кто ЗА отправить. ;D

Добавлено позже:
Ну так что? Тема закрыта?

Автор: Alex 2.06.2003 12:02

Походу дела ДА!

Автор: mj 3.06.2003 21:05

Все разбежались, всем уже не до Си  :-/

Автор: GLuk 3.06.2003 21:39

Ну и слава аллаху... smile.gif

Автор: Deny 3.06.2003 23:16

АМИНЬ!

А кому надо все еще, стучите в асю или мылом.

Автор: Altair 5.02.2004 13:56

PROLOG -вот язык будующего ( далекого к сожалению)

Автор: UtaH 5.02.2004 15:48

Ну-ну, давайте вообще отдельный раздел создадим, типа
"Всякие-разные-другие-языки-которые-к-названию-сайта никакого-отношения-не-имеют" :P

Автор: dushik 8.02.2004 9:56

Си - я считаю нужно изучать после Паскаля, если хватит мозгов, то сразу...
После этого С++, после понять Ассемблер, ну а потом Visual C++, и ты программист ;D Я конечно сам много не знаю, но считаю что так... Но вообще "Си - это язык профессиональных программистов"(с). Не в обиду форуму, но как многие говорят, на Паскале далеко не уедешь :-/

Автор: GLuk 9.02.2004 11:10

Чушь - говорят это СИОНИСТЫ и недалекие программисты. С использованием директив inline & asm можно написать абсолютно любую программу хоть под дос, хоть под WIn...

Автор: P@sh@ 10.02.2004 10:01

да и без этих директив все не так плохо. компилятор в Delphi нисколько не хуже всяких Builderов и Visual Cpp. Как то с другом-фанатом С поспорили, у кого экзешник меньше размером будет, самая простая программа на делфи -
{$APPTYPE CONSOLE} begin end.
не знаю, что он там на вижуал си++ написал (наверное void main() {}, или нечто подобное), но у меня меньше получилась раза в полтора - около 4х килобайт!
самое прикольное, что если писать что-то посерьезнее, то на Winapi, или с MFC - а MFC штука довольно громоздкая, dll больше мега весит - дельфовский vcl существенно меньше

по крайней мере паскаль не хуже си! и уж всяко гораздо удобнее и понятнее!

Автор: Altair 12.02.2004 9:35

Я только За!  
Как раз хочу изучать СИ.

Автор: Atos 14.02.2004 8:40

За. Си знать надо. Но вообще Си после Паскаля - как опилки жевать Жуткий совершенно язык. А тех, кого программированию сразу на си учат, проходя мимо Паскаля, ну или, скажем, Бейсика,  жалко очень. Программирование надо любить, чтобы чему-то серьёзно научиться, а если начинать с неудобоваримого языка...

Автор: Свят 8.12.2011 0:16

Сорри за оффтоп, но я как за си, так и за паскаль. в техникуме мы изучали в основном паскаль, если быть точным, то Object Pascal в Delphi (не до уровня гроссмейстера, конечно, но диплом у меня был довольно таки приличный для уровня теха). помимо него были ассемблер и разные языки веб-разработки. последние я не долюбливаю почему-то... за это время мне полюбилась Delphi, и я не мог даже подумать, что смогу изучить еще какой-нибудь язык))
но в этом году я пошел на вышку в ИАТЭ НИЯУ МИФИ (чуть реккламы не помешаетsmile.gif ). тут, на первом же курсе я познакомился и с си, который оказался довольно понятным и простым языком, имеющим, на первый взгляд, различия только в синтаксисе. этот язык мне очень понравился, и я теперь стараюсь писать только на нем, и изучать его.
но! (сорри за столь "юный/зеленый/нубовский опыт") я считаю, что стоит знать оба языка и знать их: можно писать и на том, и на другом языках одновременно, но еще знание двух языков (я не говорю, что именно этих) снимает психологический барьер, мешающий узнавать новые, из нескольких тысяч, языков и технологий.


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

з.ы.извинтюляюсь, что так много букав - я бухой beer.gif

Автор: Rian 10.12.2011 0:26

Все время учил делфи, писал на нем, но реально устроится было просто некуда.
Так устроился в веб студию, там за месяц из нубяры вырос в вебера, выучил все что нужно php/javascript/html/css/ кароче все то что я не воспринимал всерьез.

через пол года начала появляться работа и на делфях smile.gif
а си... да здорово, круто... но мне даром щас не надо, делал лабы в универе поматерился и забил