The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Компания Microsoft представила TypeScript, новую открытую ал..., opennews (??), 02-Окт-12, (0) [смотреть все] –1

Сообщения [Сортировка по времени | RSS]


53. "Компания Microsoft представила TypeScript, новую открытую ал..."  +/
Сообщение от Аноним (-), 02-Окт-12, 14:42 
Ну почему же. С++ доолгое время транслировался в с, но оставался при этом c++ - совершенно другим языком.
Кстати, первый компилятор с++ в нативный код создали именно в Майкрософт, так что опыта в этом деле им не занимать.


Ответить | Правка | Наверх | Cообщить модератору

58. "Компания Microsoft представила TypeScript, новую открытую ал..."  +/
Сообщение от Аноним (-), 02-Окт-12, 15:08 
> Ну почему же. С++ доолгое время транслировался в с, но оставался при этом c++ - совершенно другим языком.

Си и Си++ оба языка со строгой типизацией, а TypeScript и JavaScript с разной. Я еще понимаю,  что есть смысл преобразовывать код с динамической типизацией в строгую. Но как они собрались код со строгой типизацией транслировать в язык с динамической типизацией ?

Ответить | Правка | Наверх | Cообщить модератору

62. "Компания Microsoft представила TypeScript, новую открытую ал..."  –5 +/
Сообщение от Аноним (-), 02-Окт-12, 15:50 
>Си  ... строгая типизация

Никогда не пишите о том чего не знаете.

Ответить | Правка | Наверх | Cообщить модератору

64. "Компания Microsoft представила TypeScript, новую открытую ал..."  +/
Сообщение от Аноним (-), 02-Окт-12, 16:07 
Объясняю на пальцах. Имеем в TypeScript явную типизацию "var :: string", на выходе получаем просто "var", так как JavaSсript имеет динамическую типизацию, какой смысл тогда городить статические типы в TypeScript ???
Ответить | Правка | Наверх | Cообщить модератору

67. "Компания Microsoft представила TypeScript, новую открытую ал..."  +1 +/
Сообщение от Аноним (-), 02-Окт-12, 16:20 
Объясняю на пальцах Вы назвали с строго типизированным.
Это раз.
Машинный код в который все в конце концов превращается не знает ваших типов и не ведает.
Это два.
Типизация имеет смысл только на этапе компиляции и обеспечивается компилятором.
Это четыре.

P.S.
С скорее это скорее вообще не типизированный язык.


Ответить | Правка | Наверх | Cообщить модератору

69. "Компания Microsoft представила TypeScript, новую открытую ал..."  +/
Сообщение от Аноним (-), 02-Окт-12, 16:25 
> Объясняю на пальцах Вы назвали с строго типизированным.

Это я ступил, признаю, перепутав статическую со строгой.

> Машинный код в который все в конце концов превращается не знает ваших
> типов и не ведает.

TypeScript компилирует в JavaScript.

> Типизация имеет смысл только на этапе компиляции и обеспечивается компилятором.

Посмотрите пример в сообщении ниже, TypeScript просто вырезает явное упоминание типов и всё !

Ответить | Правка | Наверх | Cообщить модератору

72. "Компания Microsoft представила TypeScript, новую открытую ал..."  +/
Сообщение от Аноним (-), 02-Окт-12, 16:32 
> TypeScript компилирует в JavaScript.

А джаваскрипт выполняет дух святой?

> Посмотрите пример в сообщении ниже, TypeScript просто вырезает явное упоминание типов и
> всё !

Это и есть компиляция в данном случае. И происходит она после проверки типов. Если вы работаете только с TS то типы у вас есть.


Ответить | Правка | Наверх | Cообщить модератору

65. "Компания Microsoft представила TypeScript, новую открытую ал..."  +/
Сообщение от Аноним (-), 02-Окт-12, 16:10 
В догонку реальный пример компиляции в TypeScript

Было:

function greeter(person: string) {
    return "Hello, " + person;
}

var user = "Jane User";

document.body.innerHTML = greeter(user);


Стало:

function greeter(person) {
    return "Hello, " + person;
}
var user = "Jane User";
document.body.innerHTML = greeter(user);


По сути просто убрали ": string" и всё. В чем профит ???

Ответить | Правка | К родителю #62 | Наверх | Cообщить модератору

73. "Компания Microsoft представила TypeScript, новую открытую ал..."  +/
Сообщение от Аноним (-), 02-Окт-12, 16:33 
До того как убрали проверили что там действительно string. В чем и смысл типов.


Ответить | Правка | Наверх | Cообщить модератору

66. "Компания Microsoft представила TypeScript, новую открытую ал..."  +/
Сообщение от Аноним (-), 02-Окт-12, 16:15 
Спешите видеть, последний раз в этом сезоне на арене строго типизированный С

#include <stdio.h>

struct example
{
int x,y;
};

struct example2
{
int x,y,z;
};

int
main()
{
float exfloat = 9.99;
int heyIAmFloatToo = exfloat;
struct example* soAmI = heyIAmFloatToo;
struct example2 justStruct;
struct example* anotherStruct ;
anotherStruct = &justStruct;

printf("And this fucking work!\n");
}


А дальше угадай что?
$rm a.out -f && gcc main.c > /dev/null 2>&1 && ./a.out
Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

86. "Компания Microsoft представила TypeScript, новую открытую ал..."  +7 +/
Сообщение от Аноним (-), 02-Окт-12, 17:11 
> Спешите видеть, последний раз в этом сезоне на арене строго типизированный С

В си типы - лишь некий safety measure и защита от ошибок программиста а не нечто прибитое гвоздями. Если хочется заоверрайдить - можно. Си этим и прекрасен - лобовой доступ к всему и вся. Как по правилам так и без. Если это стало надо и вы понимаете последствия.

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

Ответить | Правка | Наверх | Cообщить модератору

127. "Компания Microsoft представила TypeScript, новую открытую ал..."  +/
Сообщение от ffirefox (?), 02-Окт-12, 19:24 
Что-то мне подсказывает, что при компиляции варнингов будет не слабо.
Ответить | Правка | К родителю #66 | Наверх | Cообщить модератору

161. "Компания Microsoft представила TypeScript, новую открытую ал..."  +1 +/
Сообщение от Ytch (?), 02-Окт-12, 22:33 
> Что-то мне подсказывает, что при компиляции варнингов будет не слабо.

Что ушло в /dev/null - за warning не считается )))

Ответить | Правка | Наверх | Cообщить модератору

76. "что-то сомнительно..."  +1 +/
Сообщение от demo (??), 02-Окт-12, 16:42 
> Кстати, первый компилятор с++ в нативный код создали именно в Майкрософт, так что опыта в этом деле им не занимать.

http://www.pmbk.ru/lister/031/2/index.shtml:

GNU С++ (1.13) - 1987 год,
Oregon Software С++ - 1988 год. (насколько я помню компьютерные журналы той поры - они хвалились что они выпустили первый коммерческий "настоящий" компилятор C++).
Zortech C++ - 1988 год. (http://www.zortech.com/ : пишут про себя что это первый в мире компилятор С++ для персональных компьютеров генерирующий native код, 1987 год)

MSC 7.0 - 1992 год.

Ответить | Правка | К родителю #53 | Наверх | Cообщить модератору

87. "что-то сомнительно..."  +/
Сообщение от Аноним (-), 02-Окт-12, 17:13 
> MSC 7.0 - 1992 год.

Эм... версия 7.0 должна бы навести на мысли. Я что-то такое припоминаю про MS C '80. Но до 1980 года си явно существовал и в частности древние юниксы компилили явно не MS'овским компилером и это было явно до 1980 года.

Ответить | Правка | Наверх | Cообщить модератору

96. "что-то сомнительно..."  +1 +/
Сообщение от тоже Аноним (ok), 02-Окт-12, 17:39 
Си-то существовал, а вот С++ в начале восьмидесятых еще только придумывался. И, как пишет автор языка, "Until June 1988 all C++ compiler on PCs were Cfront ports". Так что насчет "первого компилятора" приоритет Bell Labs неоспорим, а вот "первый коммерческий" - тут можно спорить между Oregon и Zortech, а можно не спорить - первые блины неизбежно были весьма комковаты.
Borland и M$ выпустили компиляторы в 1990 и 1992 соответственно, так что оба мимо.
Ответить | Правка | Наверх | Cообщить модератору

104. "что-то сомнительно..."  +/
Сообщение от demo (??), 02-Окт-12, 17:57 
Это про C++.
Древним юниксам он без надобности - там C.

а так - MS взяв за базу Lattice C и начал делать линейку своих компиляторов для DOS с 1983 года. Можно предположить, что в xenix (1980 год) использовался at&t компилятор. А на чём писали MSDOS в 1981 году я не знаю.

Ответить | Правка | К родителю #87 | Наверх | Cообщить модератору

146. "что-то сомнительно..."  +1 +/
Сообщение от Pilat (ok), 02-Окт-12, 21:11 
> а так - MS взяв за базу Lattice C и начал делать
> линейку своих компиляторов для DOS с 1983 года. Можно предположить, что
> в xenix (1980 год) использовался at&t компилятор. А на чём писали
> MSDOS в 1981 году я не знаю.

Точно не на C++. И точно на ассемблере и С.

Ответить | Правка | Наверх | Cообщить модератору

107. "что-то сомнительно..."  +/
Сообщение от demo (??), 02-Окт-12, 18:10 
> Я что-то такое припоминаю про MS C '80

У MS была сделана линейка для intel 8080 (CP/M): F80, M80, L80 (компиляторы фортрана, макроассемблера и линкер). Наверное вам оттуда припоминается. Перечисленными выше пользовался, а C80 - не помню.

Ответить | Правка | К родителю #87 | Наверх | Cообщить модератору

149. "что-то сомнительно..."  +/
Сообщение от Аноним (-), 02-Окт-12, 21:17 
> Перечисленными выше пользовался, а C80 - не помню.

Зато его припоминаю я. Местные где-то это взяли и кой-как адаптировали к местным же агрегатам на i8080. Не забыв передрать и CP/M естественно. Удивительно но факт.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру