И да, основные математические пакеты до сих пор пишут на ФОРТРАНе по стандартам языка 75 года.
Кто в здравом уме будет писать на старом f77, если есть f90? Скорее проблема в куче работющего кода на f77, который не переписан на f90.
Возможно. Но, к счастью, нужные мне библиотеки уже давно переписаны на С
Правда, для некоторых вещей приходится нужный функционал "выпиливать" из чужих программ, т.к. таких библиотек либо еще нет, либо они слишком тяжелые и написаны под дурацкие плюсы.
я не хочу юзать стандарт языка 99 года! Я уверен, что с++ - не зря улучшали.
о да... тогда вам С# и последнюю версию MS VS (десятая кажется да?)
их основной аргемент - все новое, самое последнее, ...давят на то, что якобы самое новое - самое лучшее...
они как раз в новой версии среды коллективной разработки наконец(!) научились поддерживать "атомарные транзакции"(не помню как они у себя это навали правда) в их системе управления версиями... видели бы вы инструктора как он захлебываясь слюной от восторга рассказывал об этой супер-пупер мега фиче.... вот уже лет 5 никто так не умеет, а тут они взяли и сделали откровение)))
торгаши, что с них взять)
QDroid - Среда исполнения и фреймворк для QtScript. OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
мне не нравится с# принципиально. Мне не нравится что нет обратной совместимости в net технологии (я часто встречаю в винде, что прога идет под вторым фреймворком, а если установлен только третий - то не идет). Мне не верится, что майрософт будет делать межплатформенную вещь (они обязательно где нибудь чо нибудь накосячат), а мне надо запускать программу на серверах.
зы
интересно, а кто нибудь рассматривает объекты - просто как подпрограммы (в старом программировании) с наворотами - или объекты - это принципиальное нечто другое?
интересно, а кто нибудь рассматривает объекты - просто как подпрограммы (в старом программировании) с наворотами - или объекты - это принципиальное нечто другое?
Объекты это не подпрограммы. Подпрограммами можно считать методы объектов. Объект - это экземпляр класса, т.е. переменная. Класс - это почти то же, что и структура. Только с набором методов (функций), которые работают с этими данными.
Объект - это экземпляр класса, т.е. переменная. Класс - это почти то же, что и структура. Только с набором методов (функций), которые работают с этими данными.
Я думаю, что автору придется по душе Haskell, так как в силу особенностей языка программирование на нем максимально декларативно. Кроме того, имеется легковесный html-парсер tagsoup, позволяющий создавать высокоэффективные алгоритмы извлечения данных из html, компилятор и интерактивный интерфейс.
Вот пример - получение курса доллара к рублю со страницы yandex.
Код:
import Network.HTTP
import Text.HTML.TagSoup
import Data.Maybe
-- | tr1 выбирает листы из детей только таких tr,
-- что второй из них - открывающий тег a с параметром href=http://news.yandex.ru/quotes/1.html
tr1 :: String -> [[Tag String]]
tr1 raw = filter ((~== "<a href=\"http://news.yandex.ru/quotes/1.html\">") . (!! 2))
$ partitions (~== "<tr>")
$ parseTags raw
-- | fetchText выбирает все строковые значения из листов тегов
fetchText :: [[Tag String]] -> [String]
fetchText tags = concatMap maybeToList
$ map maybeTagText
$ head tags
-- | readFloat читает дробное значение в местном формате
readFloat :: ReadS Float
readFloat x = reads
$ map f x
where f ',' = '.'
f x = x
-- | fetchResult выбирает все прочитанные дробные значения
fetchResult :: [String] -> [Float]
fetchResult xs = map fst
$ filter (\x -> snd x == [])
$ concatMap readFloat xs
-- | getUsdPrice возвращает IO-действие, получающее дробное значение с yandex
-- и поднимающее сообщение об ошибке, если ни одного не удается прочитать
getUsdPrice :: IO Float
getUsdPrice = do raw <- getResponseBody =<< simpleHTTP (getRequest "http://www.yandex.ru") -- загружаем страничку
return' $ (fetchResult . fetchText . tr1) raw
where return' [] = error "find not succeed"
return' x = return $ head x
... почему все программируют в с++? Вроде как с виду очень сложный язык, который заставляет постоянно думать о командах, библиотеках, внутренних параметров переменных - а как бы, вовсе не о логике программы...
Это зависит от того, КАК вы написали программу. Используя современные методики программирования на С++, вы можете "поднять" код до очень высокого уровня абстракции. И это позволит вам думать почти исключительно о логике программы...
Класс - это почти то же, что и структура. Только с набором методов (функций), которые работают с этими данными.
Не совсем так. Класс - это тип(пользовательский). Структура - это тип (пользовательский). Отличие лишь в том, что в структуре все поля и методы общедоступны, в классе же, все поля и методы скрыты по умолчанию.
всё выше сказанное относится к С++.
Научитесь писать простенькие программки на Python. Сам не люблю этот язык ввиду некоторых неэргономичных решений (или во мне говорит сторонник С/C++), но для него существует куча биндингов, а значит можете хоть игры писать (простенькие). Потом когда разберетесь, можете попытаться продолжить с изучением Си. Ну и через некоторое время С++, так как в серьезных приложениях этот язык по-прежнему остается стандартом Де-Факто. Яркий тому пример - игры. А серьезнее приложений, кроме Операционных Систем и Баз Данных, пожалуй не придумать.