Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Обучение и начало програмирования на С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

Открыть новую тему     Написать ответ в эту тему

mihas83



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Stroodder

Цитата:
только нужно плагин поставить:  
хттп://www.lizardtech.com/plugins/en_US/DjVuWebBrowserPlugin.exe  

У меня по этой ссылке выдает: ''404: File Not Found''.

Всего записей: 7855 | Зарегистр. 15-07-2003 | Отправлено: 09:06 27-02-2005
Key_Altos



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Stroodder
 
Извини, прозевал случайно

Всего записей: 290 | Зарегистр. 12-09-2004 | Отправлено: 10:22 27-02-2005
Function

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Почему вы изучаете С++?
 
По http://forum.ru-board.com/topic.cgi?forum=33&topic=3200#1 было написано

Цитата:
Я хотя уже около 15 лет работаю на С++ считаю что C# лучше в 90% случаев, хотя есть
задачи для которых С++ подходит больше. Шарп создан с учетом практики программирования (особенно на С++ и Java) поэтому у него нет многих устаревших элементов вроде заголовочных файлов (#include "******.h") и опасных элементов как
манипуляции с указателями. Но естественно C# может использоваться только с платформой .NET - это и недостаток и преимущество потому что эта платформа очень облегчает жизнь программиста и позволяет писать локальные, распределённые и веб приложеия для Windows намного быстрее и надежнее чем раньше. Правда этим летом обещают выпустить 1-ый релиз MONO:
 
The Mono project is an open source effort sponsored by Novell to create a free implementation of the .NET Development Framework.
 
а бета уже есть: May 4th, 2004: Mono Beta 1 available.
 
Так что можно делать программы и для Linux/Unix.  


Цитата:
C# лучше!  

 
+ в университете сказали, что на C# удобнее писать бизнес приложения.
--------------------------------------------------------------------------------------------
Лучше изучать C#.

Всего записей: 112 | Зарегистр. 31-01-2005 | Отправлено: 13:12 27-02-2005
Key_Altos



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mihas83
 
http://www.lizardtech.com./download/files/win/djvuplugin/DjVuBrowserPlugin50.exe

Всего записей: 290 | Зарегистр. 12-09-2004 | Отправлено: 13:29 27-02-2005
TbIrbIDbIM



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Знаете, мне кажется это аналогично ситуации:
Что лучше, научиться ездить на грузовике или на автобусе?

Всего записей: 479 | Зарегистр. 26-10-2003 | Отправлено: 13:33 27-02-2005 | Исправлено: TbIrbIDbIM, 13:33 27-02-2005
Key_Altos



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TbIrbIDbIM
Function
 
Народ!! мы тут о Обучении и начале програмирования на С++!!!
 
Сравнивать С++ и С# будем в другой теме!!

Всего записей: 290 | Зарегистр. 12-09-2004 | Отправлено: 13:42 27-02-2005
Stroodder



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
From: //cubicle.pelmeshek.net/rus/notes/?category=QUOTE
 

Цитата:
CSharp - это такой язык, специально придуманный для тех программистов, которые любят писать на Visaul Basic, но стесняются в этом признаться.  
 
© Джоэл Сполький

 
Абсолютно согласен, но это не значит что тот кто его юзает - ламак последний

----------
Шерше ля варез...

Всего записей: 666 | Зарегистр. 21-10-2004 | Отправлено: 14:21 27-02-2005
mihas83



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Key_Altos
Спасибо. Совем другое дело.

Цитата:
Сравнивать С++ и С# будем в другой теме!!

Кстати, тема такая уже есть.

----------
Мы знаем: время растяжимо. Оно зависит от того,
Какого рода содержимым Вы заполняете его. (C. Маршак)

Всего записей: 7855 | Зарегистр. 15-07-2003 | Отправлено: 15:17 27-02-2005
Men_In_Black



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Function

Цитата:
Лучше изучать C#

Скажи это работодателю, у которого скопилась уйма готового кода на C++, который нужно как-то сопровождать... Это только один пример из множества, когда отмазки насчет C# не прокатят... Впрочем, справедливо и обратное...
 
Однако, С++-нику проще перейти на тот же C#, чем "шарпею" на C++. Если угодно, для C++-ника это как гора с плеч. Меня, например, все эти идиотские #include здорово задалбывают. Они досаждают даже больше, чем проблемы с памятью (утечки, неинициализированные указатели, повторные delete), ибо напоминают о себе гораздо чаще, требуя зачастую разработки каких-то стратегий там, где этого быть не должно. Ибо проблемы с ресурсами обусловлены некоей объективной реальностью (есть правило игры - всегда освобождать занимаемую память), в то время, как проблемы с #include возникают совершенно на пустом месте, как некая причуда или, скорее, издевка компилятора.  
 
В C# матерый C++-ник сможет избавиться от большинства своих проблем и вздохнуть свободнее.  
 
Итак, C++ надо знать хотя бы потому, что есть большое кол-во готового кода, наработанного за десятилетия. К тому же, как ни крути, это один из самых красивых и гибких языков, воспитывающий некую культуру программирования. Самый эффективный native-код генерируется именно C++-компиляторами и это тоже зачастую очень важно.  
 
C# - хорош для бизнес-приложений? Согласен. Но рынок ПО далеко не исчерпывается СУБД-клиентами, бухгалтерскими программами, документооборотом и т.п. Есть еще такие вещи, как: обработка больших массивов данных (те же самые СУБД), нейросетевые технологии, научные расчеты, операционные системы, драйверы устройств, DSP, управление аппаратурой в реальном времени, компьютерные игры и 3D-движки и т.п., где скорость работы приложений стоит не на последнем месте.
 
Так что не будем категоричными и не будем раньше времени хоронить C++. Боюсь, похоронить его не смогут даже наши внуки...

Всего записей: 96 | Зарегистр. 27-08-2003 | Отправлено: 10:43 28-02-2005 | Исправлено: Men_In_Black, 10:53 28-02-2005
mihas83



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Men_In_Black
Ну снова все в одну кучу.
Было: http://forum.ru-board.com/topic.cgi?forum=33&topic=2358&start=80#lt

Всего записей: 7855 | Зарегистр. 15-07-2003 | Отправлено: 13:30 28-02-2005
Stroodder



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Men_In_Black

Цитата:
 Меня, например, все эти идиотские #include здорово задалбывают.

Не соглашусь я с тобой. Если ты делаешь самодостаточную прогу хоть будешь знать что туда компилятор потащит. А вообще С++ дает очень большой багаж в уяснении  архитектуры приложений. Но естественно в последнее время народ гонится за многоязычностью, скоростью разработки и т.п. поэтому и решений куча. ИМХО больше власти над железякой только у Ассемблера  
P.S. Сорри за оффтоп.

----------
Шерше ля варез...

Всего записей: 666 | Зарегистр. 21-10-2004 | Отправлено: 15:58 28-02-2005
mihas83



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Stroodder

Цитата:
в последнее время народ гонится за многоязычностью

Taк начиная с Win 2000 (поддержка Unicode) многоязычность не проблема и в С++.
Или ты имел в виду другой аспект?  

Всего записей: 7855 | Зарегистр. 15-07-2003 | Отправлено: 16:06 28-02-2005
Men_In_Black



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Stroodder

Цитата:
Если ты делаешь самодостаточную прогу хоть будешь знать что туда компилятор потащит

В единичных, редких случаях это может быть полезно. Но, ИМХО, в реальной, повседневной работе это совершенно ни к чему. Необходимость #include только добавляет путаницы и совершенно излишней возни. Есть подозрение, что #include - это тяжелое наследие языка C, в котором модульность обеспечивалась только на уровне единиц компиляции. Файлы *.c + *.h считались как бы одним модулем, а связь между модулями прописывалась вручную, через тот самый инклуд. В изначально "модульном" C++ со всеми его классами, неймспейсами, это, ИМХО, выглядит анахронизмом. Что мешало сделать в C++ отслеживание зависимостей через namespace, как это сделано в C#? Понятно, что сравнивать два этих языка не совсем корректно, но все-таки? Побоялись покушаться на "священную корову"? Хотя, я могу в чем-то или даже во всем заблуждаться... Страуструп - большой, ему видней...
 
На этом флейм постараюсь закончить... Только вот что-то не видно "начинающих" и "обучающихся"...

Всего записей: 96 | Зарегистр. 27-08-2003 | Отправлено: 05:01 01-03-2005 | Исправлено: Men_In_Black, 05:51 01-03-2005
Key_Altos



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Men_In_Black
 
Я начинающий и обучающийся, вот токма я совсем пока начинающий

Всего записей: 290 | Зарегистр. 12-09-2004 | Отправлено: 12:48 01-03-2005
Stroodder



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mihas83
 Я имел ввиду параллельную разработку продуктов на разных языках программирования, взаимозаменяемость и т.п. (то что породило среду .NET).
 
Men_In_Black
 
Цитата:
 Побоялись покушаться на "священную корову"?
 
Эта "корова", я думаю, Стандарт С++, который рожали в муках , а инклуды скорей всего оставили именно для большей прозрачности и из-за разрозненности/большого количества библиотек. Вот можно представить себе чтоб в VC++ была мулька автоматического добавления в фоновом режиме инклудов и прочее, но тогда нужна была бы библиотека с описанием всех(!) возможных классов, методов, и т.п. Чем среда *.Net хороша, так там эта проблема там решена на корню.  
Если бы не было и заголовочных файлов вообще, то количество случаев геморроя в стране пошло бы на убыль, но и читаемость программ ухудшилась бы наверное. И вообще - пусть эти вопросы перцы обсуждают
 
Key_Altos
Я тоже не пупер-спец
 
P.S. Флейм - заразная штука перерастающая во флуд, однако.

----------
Шерше ля варез...

Всего записей: 666 | Зарегистр. 21-10-2004 | Отправлено: 19:03 01-03-2005
Key_Altos



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ!!

 
А теперь не по флейму, а по обучению...
 
Вот файл (сделан в досовском BorlandС++ 3.1)
 
www.misha197.newmail.ru/DZ1(STRU.CPP  
 
Почему в нулевое значение массива a ( a[0] ) ничего не вводится? (отображается как NULL) ?
 
Причём a[0][0] (первую букву) он выводит! (массив типа char)
Я не понял! Помогите!

Всего записей: 290 | Зарегистр. 12-09-2004 | Отправлено: 19:23 01-03-2005 | Исправлено: Key_Altos, 22:20 01-03-2005
Men_In_Black



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Key_Altos
 
В твоем случае надо выделять память для строк author и name динамически (через new с последующим delete, когда память больше не нужна) или, что проще, статически (память выделяется на стеке и освобождается автоматически). Можно также использовать класс string, что еще проще, но в некоторых случаях это не подходит, например, если структуру надо передавать за границы процесса или сохранять в файле в двоичном формате.  
 
Например, вот так:

Код:
#include <string>
#include <iostream>
#include <iomanip>
#include <tchar.h>
 
using namespace std;
 
struct card
{
    string author;
    string name;
    int  date;
};
 
struct card1
{
    char author[25];
    char name[50];
    int  date;
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    card c;
 
    cin >> c.author;
 
    card1 c1;
 
    cin >> setw(25) >> c1.author;  
        // манипулятор std::setw задает кол-во вводимых символов
        // (получаем 24 символа + '\0')
 
    return 0;
}

Небольшое отступление... Если структуру предполагается сохранять в файле (или, скажем, передавать по сети), надо помнить про выравнивание членов структуры в памяти, иначе будут проблемы с чтением. Желательно для таких структур использовать выравнивание по однобайтовой границе (разумеется, во всех программах, которые читают/пишут). Выглядит это примерно так:

Код:
#pragma pack(push)
#pragma pack(1)
struct card1
{
    char author[25];
    char name[50];
    int  date;
};
#pragma pack(pop)
 

 
Добавлено:
И, вдогонку, полезная ссылка. В частности, про динамическое/статическое выделение памяти немного написано здесь.

Всего записей: 96 | Зарегистр. 27-08-2003 | Отправлено: 03:13 02-03-2005 | Исправлено: Men_In_Black, 03:41 02-03-2005
l kitsan

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте.
Столкнулся с проблемой и при поиске ее решении вышел на вашу ветку.
В свободное время изучаю программирование (эта как хобби). За кончил технический вуз, знаком с ассемблером, в институте изучал паскаль, решил изучить С. Сначала попала ко мне книга «Язык С» 1988 года, авторы М. Уайт, С. Прата, Д. Мартин. Книжка легко читается и довольно хорошо описан язык. После этого взялся за «Язык программирования Си» Брайн Керниган, Денис Ритчи, тоже понравилась и никаких трудностей в освоение не встретил. Сейчас читаю «Как программировать на C»
П. Дейтел, Х. Дейтел. После этих двух книг Дейтел читается как художественная литература, книга понравилась тем что в ней много упражнений и когда их делаешь выявляются многие тонкости и лучше запоминается материал (практика всегда была хороша).  
Сейчас хочу изучить С++ и взялся за «Язык программирования С++» Бьерн Страуструп. Дается трудно, не все понимаю, особенно зачем и как это улучшает С++ по сравнению с С, и к тому же самая нудная из перечисленных.  
В связи с этим вопрос: может знаете книжку не такую углубленную как Страуструп, но где дохотчего объяснены главные принципы языка и/или где есть кроме учебного материала много упражнений (на подобие Дейтла) . Что вы можете сказать про «Язык программирования C++. Лекции и упражнения» С. Прата.
 
PS. Вот такое большое сообщение но с максимум информацией.

Всего записей: 1 | Зарегистр. 01-03-2005 | Отправлено: 11:47 02-03-2005
Function

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
l kitsan
В С.Прата процедурное программирование написано хорошо.Но объектно-ориентированное программирование как в тумане.

Всего записей: 112 | Зарегистр. 31-01-2005 | Отправлено: 12:14 02-03-2005 | Исправлено: Function, 12:16 02-03-2005
mmiichae



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
l kitsan

Цитата:
В связи с этим вопрос: может знаете книжку не такую углубленную как Страуструп, но где дохотчего объяснены главные принципы языка и/или где есть кроме учебного материала много упражнений (на подобие Дейтла)  

У Дейта есть аналогичная книга по С++ - "Как программировать на C++"

Всего записей: 698 | Зарегистр. 17-10-2003 | Отправлено: 12:29 02-03-2005
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Обучение и начало програмирования на С++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru