Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Язык программирования D

Автор: ihorlt
Дата сообщения: 24.08.2008 22:42
Официальный сайт - http://www.digitalmars.com/d/2.0/index.html

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

License: Freeware Free
OS: Windows Vista, 2003, XP, 2000, 98, Me
Requirements: No special requirements
Homepage: http://www.digitalmars.com/d/2.0/index.html
Автор: MetroidZ
Дата сообщения: 25.08.2008 07:34
а по ссылкам, вроде бы, просто клиент DC++
Автор: Skipper
Дата сообщения: 25.08.2008 07:37
По твоей ссылке


Цитата:
DC++ announces the freedom to share! DC++ is an open source client for Windows for the Direct Connect network.


Это простой клиент для сетей Direct Connect...
Автор: CoDderR
Дата сообщения: 25.08.2008 09:22
Дожили! директ клиент и среду разработки путать
Автор: juvaforza
Дата сообщения: 25.08.2008 10:43
Какой google доверчивый, топик уже четвертый в списке.
Автор: ihorlt
Дата сообщения: 05.02.2009 16:50
Извиняюсь за неправильную ссылку в шапке!

Ее уже поправил

http://www.freevbcode.com/ShowCode.Asp?ID=1511

Еще раз, загрузить можно отсюда!!

http://www.freevbcode.com/code/DPP.zip
Автор: KADABRA
Дата сообщения: 05.02.2009 20:15

Цитата:
Version Compatibility:      Visual Basic 5 Visual Basic 6

More information: This application a compiler that compiles the D++ language into an execuatable. D++ is a language I created with commands like input and output, deleting files, message boxes, etc. The output is dipslayed in a console window.

Внушает
Автор: ihorlt
Дата сообщения: 05.02.2009 22:00
Здесь еще ничего нет смешного.
Етот язык реализует много парадигм обектно-ориентированного програмирования.
Как на меня так ето хорошо...
Автор: ShIvADeSt
Дата сообщения: 06.02.2009 01:29
ОМГ, AutoIT и то баче. А судя по совместимости с ВБ - там очень серьезное ООП ) Плюс только консольные программы судя по этому тексту

Hopefully, this may turn into a visual program where you can add buttons, text boxes, etc. The program automatically locates your system folder. True, D++ doesn't' compile a Win32 Application, but it compiles a DLL with your source.

или он имеет ввиду, что нет нормальной ИДЕ для создания окошек? ИМХО шлак, для ООП лучше паскаль поизучать, пользы в будущем больше будет.
Автор: ihorlt
Дата сообщения: 06.02.2009 13:51
Посмотрите на сайт

http://www.digitalmars.com/d/2.0/index.html

D Language Feature Comparison TableFeature    D
Garbage Collection    Yes
Functions
Function delegates    Yes
Function overloading    Yes
Out function parameters    Yes
Nested functions    Yes
Function literals    Yes
Closures    Yes
Typesafe variadic arguments    Yes
Lazy function argument evaluation    Yes
Compile time function evaluation    Yes
Arrays
Lightweight arrays    Yes
Resizeable arrays    Yes
Built-in strings    Yes
Array slicing    Yes
Array bounds checking    Yes
Array literals    Yes
Associative arrays    Yes
Strong typedefs    Yes
String switches    Yes
Aliases    Yes
OOP
Object Oriented    Yes
Multiple Inheritance    No
Interfaces    Yes
Operator overloading    Yes
Modules    Yes
Dynamic class loading    No
Nested classes    Yes
Inner (adaptor) classes    Yes
Covariant return types    Yes
Properties    Yes
Performance
Inline assembler    Yes
Direct access to hardware    Yes
Lightweight objects    Yes
Explicit memory allocation control    Yes
Independent of VM    Yes
Direct native code gen    Yes
Автор: KADABRA
Дата сообщения: 06.02.2009 18:52
ihorlt

Цитата:
Посмотрите на сайт

Вы в курсе что путаете тёплое с мягким?

Добавлено:
Вдобавок сознательно вводите читателей в заблуждение.
Автор: ihorlt
Дата сообщения: 06.02.2009 19:16
KADABRA


В чем заблуждения? Скажите - исправлю...
Автор: ShIvADeSt
Дата сообщения: 07.02.2009 02:34
ihorlt

Цитата:
В чем заблуждения? Скажите - исправлю...

Немного разные языки, в одном случае Д++ в другом какой то Д версии 1.0
Автор: ihorlt
Дата сообщения: 08.02.2009 21:49

Цитата:
Немного разные языки, в одном случае Д++ в другом какой то Д версии 1.0


добавил D++ потому что он сравнивается с С++.. уже исправил...
Автор: VikLabel
Дата сообщения: 15.02.2009 09:50
По русски: http://dprogramming.ru/d/index.php
Автор: data man
Дата сообщения: 18.05.2012 14:01
Хотел создать тему по этому языку, но на Борде есть всё! (Жаль, что начало этой темы было не очень)


Язык - замечательный! К чёрту Delphi!
Несколько ссылок:
*домашняя страница
*D-проекты на GitHub (кстати, "D is the #25 most popular language on GitHub")
Некоторые статьи на Хабре:
*Язык программирования D
*Язык программирования D — продолжение
*Язык D2 и метапрограммирование: всё страньше и страньше
*Почему я выбираю D
Автор: akaGM
Дата сообщения: 18.05.2012 14:53
ага, к чёрту всё!
весь наработанный софт сам собой портируется...

гугль тоже создал свой новый язык...
http://forum.ru-board.com/topic.cgi?forum=33&topic=13261#1
Автор: data man
Дата сообщения: 18.05.2012 15:00
akaGM

Цитата:
весь наработанный софт сам собой портируется...

Нет, конечно. А вот на чём писать новый, подумать стоит.


Цитата:
гугль тоже создал свой новый язык...

Я видел тот топик - к чёрту гугль. Три раза!
Автор: akaGM
Дата сообщения: 18.05.2012 15:06
я и говорю:
Цитата:
ага, к чёрту всё!
Автор: ItsJustMe
Дата сообщения: 22.05.2012 02:55
Что-то я не понял, на каком этапе ихорлт хочет срубить бабла? То он клиент DC++ подсовывает, то еще какую-то хрень, лишь после года(!!!) скитаний добирается до D++. В чем гениальный бизисьплан?
Впрочем, суда по давности постов, он свою капусту уже нашинковал.
Автор: data man
Дата сообщения: 22.05.2012 11:15

Цитата:
D++
- неправильное название.
D. Just D.

А автор языка Уолтер Брайт, известен по знаменитому в своё время компилятору Zortech C++ (ставшему Symantec C++)
Что как бы намекает.
Автор: akaGM
Дата сообщения: 22.05.2012 11:23
в С++ вбухали столько бабла, что никто и никогда в здравом уме теперь от него не откажется...
а Д даже до нишевости не дотягивает...
Автор: data man
Дата сообщения: 22.05.2012 11:35
akaGM

Тем не менее гуру C++ Александреску всячески продвигает D и участвует в его разработке.
Тоже намекает.
Автор: akaGM
Дата сообщения: 22.05.2012 11:49
да ну и что?

гуру Дельфи (забыл фамилию) заархитектурил шарп и тоже его продвигает, и где он по ср. с жабой? думаешь решётку ждёт сильно светлое будущее?
тут вон топом ниже тоже дракон один прилетел...
Автор: ItsJustMe
Дата сообщения: 23.05.2012 03:29
data man

Цитата:
неправильное название.

Да. Чуток перемудрил. Продвинул его название несколько дальше, чем следовало

Цитата:
А автор языка Уолтер Брайт, известен по знаменитому в своё время компилятору Zortech C++ (ставшему Symantec C++) Что как бы намекает.

Посмотрел я на это... Что ж, ИМХО, конечно, но студенту, в одиночестве, на коленке язык не создать. Или, создать-то он его создаст, но до сколько-нибудь вменяемого рабочего состояния довести не сможет. И не важно, сколько студенту лет, хоть 40, хоть 50, хоть 100. И не важно, что он уже давно не студент. И даже не важно, что он под это дело организовал небольшую конторку.
Для создания языка (рабочего, которым пользоваться можно, а не голой концепции) нужны силы сравнимые с Microsoft или Sun. Или, на худой конец, Borland. Нужны годы работы и много мозгоскрипения.

А студент смог создать только какой-то хилинький компилятор, напоминающий pascal 3.0.

Но опять же, повторюсь, что это не в упрек ему. Он молодец. Думал и придумал. Но один человек, пусть даже с группой товарищей, пирамиду не построит. Сколь бы он ни был гениален и харизматичен. Тут нужна мощь государства. Студенту остается надеяться, что какие-нибудь силы, способные на создание языка, заинтересуются его концепцией и возьмут его к себе развивать это направление. До тех пор D будет на уровне pascal начала 1980-х годов.
Все ИМХО.
Автор: akaGM
Дата сообщения: 23.05.2012 11:55
да не было никакого zortech С++, был очередной С, кот. не смог конкурировать с Турбо С,
да и с тем же MS C
мои коллеги вообще ставили NDP C, так как в ходу был NDP Fortran

а Borland пинать не надо, её надо благодарить, и благодарить за IDE, с неё всё и началось...
Автор: data man
Дата сообщения: 03.01.2013 20:43
Ура, версия 2.061
[more=New/Changed Features]Can't use property syntax with a template function
Can't use typeof() in base class list.
alias should have assignment syntax
No foreach type inference with const, ref etc modifiers
16 bytes long structs requires 32 bytes if allocated singularly on the heap
Support needed for new x86 and x86_64 instructions
Textual representation of struct that doesn't define toString()
www.d-programming-language.org "Interfacing to C" should make clear how to do callbacks
Make 'nothrow', other function attributes, accessible (via traits?)
writeln with empty arrays should write something useful
std.traits.arrayTarget
version(assert)
std.conv should also use a to function to convert to other class types
Support deprecated("message")
Use __LINE__ to pick number in unittest block names
Non-tuple iteration with std.range.zip
druntime Win64
Phobos Win64 - D2
Compiler should catch duplicate overrides
Two problems using enum lenghs
[SafeD] unhelpful error message for @safety mismatch of generated destructor
[PATCH] Add -di option to show deprecated errors as warnings
improve error message for "object.d cannot be read"
Forward declaration and implementation allowed in same file
Two small improvements for std.string maketrans and translate
std.algorithm.findSplit example is freaking hard to read
Static initializers for fixed size arrays too
Assignment of function literal to function pointer variable with non-D linkage broken
Expose "cArgs" in druntime
DDoc should provide qualified symbol names suitable for anchors
Add isInstanceOf to std.traits
Allow matching { } in asm statements
Added -di flag to make use of deprecated symbols a warning
Add User Defined Attributes (UDA)
Add -de and -dw switches
Add Win64 code generation support for use with Visual C
Add sections [Environment32] and [Environment64] to sc.ini/dmd.conf
More simd instructions allowed as intrinsics
__traits(identifier,...) to pick out identifier from parameter list tuple
Add getProtection to __traits()
add __traits(isPOD, ...)
Make 'cent' and 'ucent' syntactically valid pending implementation[/more]
[more=DMD Bugs Fixed]ICE(glue.c): using nested delegate literal as template alias parameter
Regression(2.054) scope(success) in nothrow/@safe functions causes compile errors
Regression 2.060: Bad code gen involving ubyte, ternary operators, and shifts
modifying foreach range iterator fails in CTFE
DMD 2.060 regression: anonymous delegate call in foreach loop
Using take results in a corrupted call to opSlice
[regression 2.059] Calling template function doesn't print instantiated line number
Regression: CTFE: long comparisons completely broken
Assertion failure: 'fd && fd->inferRetType' on line 81 in file 'mangle.c'
dmd buffer overflow related to function literal, real.max, template alias parameter
2.059 worked 2.060 does not: nested delegate memory corruption
CTFE fails to compare strings correctly
2.059: Lookup error message has become uninformative
Regression: 'has forward references' error for static class after template mixin
attribute inference failure with opAssign and alias this
Array operation a[] + a[] not implemented
__traits(getOverloads) fails in a member function
__traits fails in a struct member function
__traits(compiles, ...) causes error
[2.061 alpha] AA.length in a const context tries to call opAssign + no error line number
Regression(Beta): Segfault or "Non-constant expression" error with local import
Problem with std.traits.EnumMembers conversion to array
Struct copy constructor ignored when opAssign with a different type is present
template mixin constructor causes link error
Regression: 2.053: Lazy Variadic Functions do not work with delegates
Object variable of variadic template struct needs explicit "this" in certain situations
ref foreach of immutables in postcondition
Type inference for array of delegates should not break based on order
Incorrectly generated assignment operator
[2.061 beta] Import cycle causes unpredictable compile errors
[2.061 beta] Member access without this and __traits(compiles, ...)
Incorrect implicit immutable conversion occurs in pure function
DMD confuses string template parameter with function
is(typeof(...)) is reporting true when it's false due to nested function error
ICE(glue.c): 'semanticRun == PASSsemantic3done' on line 547 in file 'glue.c'
calculating minimum of longs with following comparison compiles to wrong code when enabling the optimizer
template structs with two parameters confuse DMD on multiple instantiations
runtime crash using closure as alias parameter
Bad code with ref-foreach and closures
cast(shared(const(int)))a is not an lvalue
Forward reference on template class triangle
Bad initialization when using mixin to generate a static field in a -lib'rary
CTFE wrong-code for opAssign and std.array.Appender
[64 bit] Memory corruption on stack-allocated temporary static arrays
Returning ref from delegate foreach gives bad address
__traits(compiles) gives compile error
64 bit codegen bug involving dynamically indexed static array and continue statement
postblits fails attributes qualifying when in a template.
Pure Segfault
auto function and implicit conversion in return statement corrupt returned value
Optimizer bug on 64bit: *p++=1 where p is a parameter
Incorrect values passing struct by value
error optimization of expression
Cannot declare a delegate variable for const member functions
Inherited out contract requires lvalue result?
Template alias parameters are never successfully pattern matched
Can't return ref T where T has const/immutable members
Pure/nothrow/@safe-inference failed for a template function if it is instantiated without evaluating at the global scope
Structs with disabled default constructors can be constructed without calling a constructor.
Internal error: ../ztc/cgxmm.c 60
Disabled postblit ignored and not called by all array operations
CTFE Internal error with -inline and associative arrays
*= operator breaks long array in x64
[CTFE] Incorrect slicing with pointer from sliced array
[2.061 beta][64-bit] Assertion Failure argtypes.c
FE] (interpret.c, line 3598) with failed array access
Nested structs have null context pointers in static array variables and struct fields
Able to modify const/immutable with passing to a templated function by `ref`
Nested structs smetimes have null context pointers in static struct
Nested struct `init` is lvalue and can be modified
postblit is called for nested structs when assigning `init`
ICE when trying to break outer loop from inside switch statement
Weird behavior on template instance argument
[tdpl] obligatory override attribute
[CTFE] Adding an item to an empty AA
ICE(e2ir.c): enum AA get
nothrow main() can throw
unary ++ (post increment) tries and fails to invoke opBinary
@property doesnt work with delegate return type
AA literal problem with mutable array as key
Copy constructor and templated opAssign cannot coexist
object.Error: Access Violation missing file and line number
Warning for unreachable code in scope statements is too confusing
[tdpl] Rebinding *this* in class method compiles
Problem with final & override
_traits(allMembers, X) ignores version guards inside X
Member expression tuple allowed for types, disallowed for expressions
Array of AAs literal doesn't work
Type aliasing "this" from an access function defined in base class confuses the compiler about the type of objects
Error: Statement SwitchErrorStatement::toCBuffer() cannot be interpreted at compile time
ICE(expression.c) CTFE of erroneous auto return function
Constructor, static opCall and object opCall
Initialize const fixed-size array in constructor
Built-in opAssign implicitly defined should call field's opAssign
More descriptive 'hidden by X is deprecated' error
ICE(glue.c) Multiple-at-a-time bug breaking e.g. DustMite
Nested function error in reduce
const struct definition inside functions too
writeln problem with array of tuples
Array static bounds tests with $ too
new with struct doesn't allow field assignment
no tuple expansion for c++ mangling
Pure inference makes inconsistent result
const method mangling of extern(C++) structs
Void parameter errors with overloaded templates don't indicate instantiation location
align() refused for struct defined inside functions
opDollar doesn't work with slicing
DMD hangs on isExpression with template default and variadic parameter
nested class with additional attributes is not supported
Cannot use property function call as static if condition
Cannot use property function call in pragma declaration/statement
Cannot use property function call in case/case range statement
`final switch` over enum should add throwing default in debug mode at least
Alias template within struct/class not visible when struct/class is accessed through an alias
[CTFE] Segmentation fault when using array.keys on a null AA
Default initializer for ref/out must be an lvalue
[CTFE] assignment to reference in foreach fails without error message
DDoc eats $1, $2, $3 etc. inside d_code section
No template instantiation backtrace printed trying to use writefln on a const or immutable object reference
[CTFE] assignment to AA apply ref argument
Ddoc emits garbage if a default argument contains a struct constructor call
[CTFE] Typesafe variadic function with array of structs
ICE(cgcs.c) 354
[CTFE] assertion failure on invalid stack reference
[CTFE] - segfault for struct literal with AA field
static assert message string printing problem
Cannot deduce template function when using partially specified type in function parameter
properties and the ternary operator
Throwing nothrow struct constructor?
[ICE] Two internal errors with recursive map
Wrong line number in trying to modify enum string
Conversion from dynamic array to static array fails when static array is immutable
UFCS when the first argument is a function
Property function call without parenthesis fails when it's passed as template argument
[Ddoc] non-ascii character string macro names cannot be replaced
segfault on incorrect (?) module declaration
Disabled postblit ignored on return statement
std.path.sep is deprecated
Templated struct constructors don't implicitly convert to const
Purity calculation should be improved
[CTFE] TypeTuple of tuples can't be read at compile time
[CTFE] Assertion failure: 'thisval && thisval->op == TOKclassreference' on line 4896 in file 'interpret.c'.
UFCS fails on integer literal with Unicode identifier
No line number in error message for conflicting aliases
Cannot use dot for base class lookup in inheritance list
Comparison operator overloading doesn't consider the qualifier of lhs
void and function type prints redundant error message with init property
Lambda expression causes compilation error with template function
typeof(return) inside opApply loop always int
CTFE Assertion failure (interpret.c) on dstring[].toUpper
dmd segfaults
ICE(interpret.c): CTFE using runtime variable as ref parameter
CTFE doesn't support string >,< on array literals
ICE: Assertion failed: (0), function totym, file glue.c, line 1150.
enum z = [0][(()=>$-1)()]; crashes the compiler
Nothrow can't throw Errors
Wrong processing of Complex!double as function argument
Qualified indexing type tuple returns wrong result
Stack overflow with recursive struct
Compiler reports incorrect dangling else with version attributes
tuple(tuple(1)) fails to compile, but tuple(tuple(1),1) works
Missing error message with circular use of CTFE
Problem with pure inference of inner delegate
Wrong error line number with immutable field
The super constructor call can be prevented by mentioning "return".
Another problem with pure inference of inner delegate
assigning to __ctfe crashes the compiler
Problem with enums of void*
Usiing qualified delegate type in template argument causes parser error.
function called with argument types ((void function())) matches both f(void function() fn) and f(void delegate() dg)
incomprehensible bug on windows with import side effect
[CTFE] does not evaluate to a boolean, only with -inline
core.exception.InvalidMemoryOperationError in case of remove() in Destructors
import declaration statement without scope after `if` imports to a parent scope
ICE(glue.c) on passing by ref statically initialized const/immutable variable
`alias <qualifier> <type>` ignores <qualifier> in foreach over tuple
Cannot get parent of an overload
ICE(cgcod.c) when passing cfloat argument with indirection
The PVS-Studio analyzer has something for you
Compiling using '-O -release' options yield 'Internal error: backend\cgcod.c 1663'
Forward reference error on three structs
ICE on assigning struct's `init` to enum
Wrong line number for undefined identifier error
Static struct with nested struct fields sometimes has current context pointers in `init`
Compiler crash with foreach on wrongly defined interval
ICE(glue.c) line 1225: with array.front and missing array
Template mixin identifier as template alias parameter doesn't work
DDoc: Chokes on consecutive example sections:
typeof(T.init) should have the type T
static assert should resolve property function call
struct literals are treated as lvalues
nothrow of constructer/destructor isn't correct
Aliased template function and property resolution doesn't work
auto ref doesn't work with arrays
Overloads in extern(C++) interfaces throw up COMDAT errors
Error with ddoc: octal digit expected
Redundant field postblit call on initializing
format fails if opCast and this alias are both defined in an aliased struct
Segmentation fault (DMD only) when calling some external functions twice in one expression
Mismatching static array length should be detected in foreach
[tdpl] Non-static structs should have access to outer lexical scope
Incorrect gagging of fwdref error in alias this semantics
Wrong `alias func this` incorrectly reports error message
DMD doesn't block access to "static package" members
Error messages for const/immutable arrays given to immutable/const
Better wrong function pointer error message
Bad error message in a wrong usage of ^^ pow operator
Safety error message should include full function names
Different error messages for missing const in var[] and var.opSlice()
Some missing "import std.math to use ^^ operator" error messages
Bad mismatched nested comments error
"final fields" in error messages
Poor error message for derived class without constructor
Whitespace is not inserted after commas
Multiple function match needs to print file+line numbers
UFCS resolution prints fake error
pragma(msg) incorrectly prints uint values >= 2^31
opEquals() const results in not-covered code[/more]
[more=Druntime Bugs Fixed]Throwing results in searching the whole directory tree rooted in current directory
core.atomic not documented
core.atomic.atomicLoad() cannot handle non-POD structs
.sort and .reverse break utf8 encoding
Remove volatile statements from core.thread
Cannot compile druntime with -debug=PRINTF
C files in druntime should be converted to D
core.sys.windows.windows: Environment functions
stat_t is not the same as struct stat
Add dladdr to druntime for linux/FreeBSD
core.cpuid reports unexpected values for threadsPerCPU and hyperThreading
Associative arrays as associative array keys
dmd generate bug that segfault in very weird situation.
`object.destroy` doesn't destroy interfaces
immutable `_d_args` can be written to with `main(char[][])`
core.stdc.float_ is broken with -w switch
TickDuration.to should probably be a property
incorrect definition of the OVERLAPPED struct in core.sys.windows.windows ?[/more]
[more=Phobos Bugs Fixed]FIXE    std.array.insert is slow
Tuple cannot define with type that has only mutable opEquals
isAssignable!(int, const(int)) is false
Collapse of std.csv by the specifications change of std.conv.parse
std.range.chain and std.range.zip cannot get frame pointer
2.061alpha multiSort no longer working with L-value only comparators
[2.061 beta] isDymanicArray/DynamicArrayTypeOf broken for classes/interfaces with AliasThis
RefCounted fails on opAssign
Spawned threads frequently don't terminate or let other threads ever run if you spawn more than one thread
May not join spawn()'ed threads
std.Container.Array (and .Range) du not implement opIndexUnary
std.algorithm.joiner doesn't return a proper forward range
bitfields template generate wrong code
std.variant: Crash on comparing unordered types
std.algorithm.sort fails with SwapStrategy.stable
std.demangle doesn't work correctly
std.array.insert on string[]
std.functional.binaryReverseArgs missing from documentation
writeln of alias-this matrix
Problem with map() that returns array contents
Problem with map() that yields Tuples
std.math: exp, expm1, exp2 return 'inf' when no asm.
std.windows.registry exposes too much implementation details
BigInt textual representation
Assertion failure in std.variant
std.algorithm.find breaks in certain circumstances
BigInt division bug
std.algorithm.joiner breaks when used with InputRangeObject
std.algorithm.joiner makes invalid assumptions about front()
[std.container] can't define Array!T, if T is Tuple!(size_t, size_t)
std.string.representation works incorrect for shared(const(T)) types
std.net.isemail doesn't compile without -d switch
typecons.RefCounted.refCountedPayload should be nothrow
std.typecons.Proxy.opEquals compiles error: undefined identifier 'startsWith'
Enforcement and purity
lockstep needs to document default stopping policy
sha1UUID does not show up on http://dlang.org/phobos/std_uuid.html
std.conv.to bug, from documentation
Wrong writeln of negative numbers
std.traits std.typetuple.Alias is private and used in std.traits
infinite loop in DList.opEquals
RedBlackTree.opEquals has byref semantics
Using zip with char[] sometimes fails to compile
std.traits.ParameterIdentifierTuple is undocumented and doesn't work with ref params
writef/format inconsistent with format specifier
core.thread.Fiber seems to crash on Win64
std.typecons.Proxy doesn't treat ref parameter correctly.
parse!int fails on size_t.max+1 digits long input (overflow)
std.string.chomp documentation mismatch implementation
std.parallelism unittest failure on single processor
countUntil warning on an infinite range
std.parallelism.executeInNewThread with thread priority segfaults[/more]
Из самых главных новшеств, это конечно (наконец-то!) UDA - User Defined Attributes
Автор: Syllion
Дата сообщения: 14.03.2013 19:41
Кстати открылся официальный русский сайт языка программирования D http://dlang.ru/
Автор: Daniyar91
Дата сообщения: 29.03.2016 18:16
Сейчас читаю книжку александреску, дочитал до атрибутов функций, там где рассказывается про pure, а теперь вопрос -- есть смысл указывать этот атрибут или нет? ведь компилятор сам в состоянии определить чистоту функции, что он собственно и делает (из функции с атрибутом pure, можно вызывать другие функции если они "чистые", даже если они не помечены таким атрибутом).

Это что получается, что pure нужно писать только для того чтобы другие люди видели что функция чистая, а компилятору этот атрибут вовсе ненужен?

Страницы: 1

Предыдущая тема: из Delphi7 через ADO к MSSQL


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.