View mode: basic / threaded / horizontal-split · Log in · Help
November 04, 2008
Re: C++, D: Dinosaurs?
"bearophile" <bearophileHUGS@lycos.com> wrote in message 
news:geo736$15ic$1@digitalmars.com...
> Robert Fraser:
>> Write your web frontend & backend in .NET. Throw in a little LINQ-to-SQL
>>   and you don't even need SQL. (The official website ihas been down
>> since September... I assume they're productizing it).
>
> Is this relevant?
> http://ayende.com/Blog/archive/2008/10/31/microsoft-kills-linq-to-sql.aspx
>
> Bye,
> bearophile

Funny, the people complaining about LINQ being killed sound exactly like me 
whenever I explain my reluctance to buy a 360 after having MS blatantly 
abandon my XBox 1 (By constrast, Sony still supports their PS2. But I liked 
my XBox 1 better.)
November 04, 2008
Re: C++, D: Dinosaurs?
"Robert Fraser" <fraserofthenight@gmail.com> wrote in message 
news:geo6oh$14m3$1@digitalmars.com...
> Nick Sabalausky wrote:
>> For example, have you ever tried doing web development? You can't 
>> realistically do anything nontrivial without tripping over at least 
>> handful of different, essentially domain-specific, languages: ECMAScript, 
>> (T)SQL, (X)HTML, XML, CSS, and either PHP, ASP/VBScript, ASP.NET/C#, 
>> Python or Ruby. And that's just the bare minimum for any non-trivial web 
>> site. For one thing, most of those are great examples of the fact that 
>> domain-specific languages do nothing to prevent piss-poor language 
>> design. But besides that: Conceptually, web development is one of the 
>> most trivial forms of programming out there. But the domain-specific 
>> language-soup realities of it have turned what should have been trivial 
>> into one of the programming world's biggest pains-in-the-ass. It's an 
>> absolute mess. I'm currently writing my first compiler, and I have in the 
>> past written homebrew for the Atari VCS, and an Asm sound driver for a 
>> multiprocessing microcontroller/embedded-device that has no sound 
>> hardware other than a generic DAC capability. All of those have proven to 
>> be far less pains-in-the-ass than any of my web development work. 
>> Considering the conceptual simplicity of the web, that's just absolutely 
>> pathetic.
>
> Microsoft agrees.
>
> http://www.informationweek.com/news/internet/webdev/showArticle.jhtml?articleID=204701262
>
> Write your web frontend & backend in .NET. Throw in a little LINQ-to-SQL 
> and you don't even need SQL. (The official website ihas been down since 
> September... I assume they're productizing it).

Microsoft comes up with a lot of great ideas like this, but then they hijack 
any potential for widespread usage by marrying it to other MS-only products 
and technologies. I'm not saying its good or bad business sense for them to 
do this, not saying it's ethical or unethical, but as an outside programmer 
it just doesn't help me much. Which gets frustrating, because I'll know I'm 
looking at a good thing, but just can't justify jumping on board until if 
and when the open-source community builds a compatibility-solution.
November 04, 2008
Re: C++, D: Dinosaurs?
"Piotrek" <starpit@tlen.pl> wrote in message 
news:geo2vt$s62$1@digitalmars.com...
> Tony wrote:
>
>> [...] I would say that languages like C++ and D ARE the specialized 
>> ("domain specific") languages rather then the "general purpose" ones. 
>> Consider them as "where/when you need high level assembly language type 
>> of tool". Everyone who invents "the better C++" ends up in the same 
>> category as that overly complex, for a GP language, language.
>
> I also see a GP language strictly connected with processors way of 
> "thinking" and operating  with memory but with ability of switching to 
> higher level (on demand) to ovoid using tons of primitives. If well 
> deigned it can utilize computer to *everything* you need - without 
> pain-in-ass.
>
> Or one may say:
>
>> "General Purpose Language" may indeed be an oxymoron. (All kinds of jokes 
>> noting 'GPL', omitted).
>
> IMHO D is a better stage of what we can call: general propose language.

Maybe. But more probably, "general purpose language" needs to be defined 
directly because it is so subjective in context. (hehe, isn't that a 
criticism of C++: non-contenxt free grammar?).

>
>>> (C++) These days it's a systems/performance language instead.
>>
>> And not a very influential one at that, which really bogs down 
>> development.
>>
>
> Until D. Give me example of a language where you can develop faster/esier 
> (besides IDE infrastructure).

I envision a language existing "in between" the characteristics of C++ and D 
(kind of). The object models both need work in C++ and D, IMO and if I am 
forced to use GC in D, then it's a no for me because I have my own memory 
management architecture. I can "shoe horn" C++ to behave, at least, with the 
object model and the memory is unconstrained, and I do consider the latter a 
main important feature.

Tony
November 04, 2008
Re: C++, D: Dinosaurs?
"Robert Fraser" <fraserofthenight@gmail.com> wrote in message 
news:geo5p6$12gk$1@digitalmars.com...
> Tony wrote:
>> (one HAS to use GC with D, right?)
>
> No. Well, the compiler generates calls to allocate & free memory, but you 
> can replace those calls with whatever you want. See Tango's (druntime's) 
> "stub" GC, which just reroutes compiler-generated calls to GC methods to 
> malloc() and free(). You can implement your own "GC" or whatever 
> management scheme you want (in fact, if you're writing, say, a device 
> driver in D, you would want to use a custom allocator like this and not 
> the built-in GC).

Please clarify for me the mem mgmt of D: is the garbage collector optional 
or not? Just allowing me to replace "getmorecore()" or something like that 
and then having the collector on top of that is unacceptable to me. I think 
you may be saying that dynamic memory is in every program, which again is 
not acceptable to me.

Really, memory control is a key issue when choosing a language for me 
anyway. I require that level of closeness to the hardware. Anything less is 
too 4GL-like for me.

Tony
November 04, 2008
Re: C++, D: Dinosaurs?
Tony wrote:
> "Robert Fraser" <fraserofthenight@gmail.com> wrote in message 
> news:geo5p6$12gk$1@digitalmars.com...
>> Tony wrote:
>>> (one HAS to use GC with D, right?)
>> No. Well, the compiler generates calls to allocate & free memory, but you 
>> can replace those calls with whatever you want. See Tango's (druntime's) 
>> "stub" GC, which just reroutes compiler-generated calls to GC methods to 
>> malloc() and free(). You can implement your own "GC" or whatever 
>> management scheme you want (in fact, if you're writing, say, a device 
>> driver in D, you would want to use a custom allocator like this and not 
>> the built-in GC).
> 
> Please clarify for me the mem mgmt of D: is the garbage collector optional 
> or not? Just allowing me to replace "getmorecore()" or something like that 
> and then having the collector on top of that is unacceptable to me. I think 
> you may be saying that dynamic memory is in every program, which again is 
> not acceptable to me.
> 
> Really, memory control is a key issue when choosing a language for me 
> anyway. I require that level of closeness to the hardware. Anything less is 
> too 4GL-like for me.
> 
> Tony 

Whenever memory is allocated (i.e. "new", AA use, append to a dynamic 
array), the compiler generates a call to a GC function. You can replace 
this with your own allocator. In other words, YES -- you can remove the 
_entire_ GC and replace it with your own allocation scheme, but you must 
be careful not to use AAs or the ~ (or ~=) operator carelessly, since 
these depend on the allocator. In D2, you need to worry about closures, too.
November 04, 2008
Re: C++, D: Dinosaurs?
Nick Sabalausky wrote:
> "bearophile" <bearophileHUGS@lycos.com> wrote in message 
> news:geo736$15ic$1@digitalmars.com...
>> Robert Fraser:
>>> Write your web frontend & backend in .NET. Throw in a little LINQ-to-SQL
>>>   and you don't even need SQL. (The official website ihas been down
>>> since September... I assume they're productizing it).
>> Is this relevant?
>> http://ayende.com/Blog/archive/2008/10/31/microsoft-kills-linq-to-sql.aspx
>>
>> Bye,
>> bearophile
> 
> Funny, the people complaining about LINQ being killed sound exactly like me 
> whenever I explain my reluctance to buy a 360 after having MS blatantly 
> abandon my XBox 1 (By constrast, Sony still supports their PS2. But I liked 
> my XBox 1 better.) 

That's all business concerns. More people still have PS2s than PS3s, so 
 it's in Sony's best interest to continue to support the PS2. The same 
is not true of the XBOX.

I didn't know they killed LINQ to SQL, but I guess they didn't kill LINQ 
in general, so they probably have (or are going to have) a new tech to 
replace it. I don't know hoe the Entity Data Model interacts with LINQ, 
but I'd assume that's the "next big thing".
November 04, 2008
Re: C++, D: Dinosaurs?
"Tony" <tonytech08@gmail.com> wrote in message 
news:geogvj$1p5r$2@digitalmars.com...
>
> "Robert Fraser" <fraserofthenight@gmail.com> wrote in message 
> news:geo5p6$12gk$1@digitalmars.com...
>> Tony wrote:
>>> (one HAS to use GC with D, right?)
>>
>> No. Well, the compiler generates calls to allocate & free memory, but you 
>> can replace those calls with whatever you want. See Tango's (druntime's) 
>> "stub" GC, which just reroutes compiler-generated calls to GC methods to 
>> malloc() and free(). You can implement your own "GC" or whatever 
>> management scheme you want (in fact, if you're writing, say, a device 
>> driver in D, you would want to use a custom allocator like this and not 
>> the built-in GC).
>
> Please clarify for me the mem mgmt of D: is the garbage collector optional 
> or not?

Yes, it can be ripped out, replaced, whatever. It's slightly hacky, but it's 
perfectly doable. I did it a few years ago when I was playing around with 
using GDC with DevKitARM for GBA.

IIRC, you just go into "extern (C) int main(size_t argc, char **argv)" in 
the internal portion of phobos/tango/druntime or wherever it lives now and 
comment-out the calls to "gc_init()" and "gc_term()". You might also need to 
call "gc.disable()" or something (don't really remember). And then if you 
still want to use "new" and/or "delete" with your own memory manager, you 
can use D's class allocator and deallocator feature 
(http://www.digitalmars.com/d/1.0/class.html#allocators). I assume you could 
probably plug those class allocators/deallocators directly into the internal 
object class if you wanted.
November 04, 2008
Re: C++, D: Dinosaurs?
Op Tue, 04 Nov 2008 02:55:41 +0100 schreef Nick Sabalausky <a@a.a>:

> This is why I've recently been getting interested in high-level language
> translation, and have been playing around with writing such a tool. I'd  
> like
> to be able to write code in a sensible language like D and just translate
> that into whatever horrible scripting language the
> sysadmin/netadmin/browser-vendor decided would be suitable.


That sensible language already exists! Be sure to check out: haxe.org
November 04, 2008
Re: C++, D: Dinosaurs?
Tony wrote:


>[...] But more probably, "general purpose language" needs to be defined 
> directly because it is so subjective in context. (hehe, isn't that a 
> criticism of C++: non-contenxt free grammar?).
> 

Wikipedia says: "Context-sensitive grammars are more general than 
context-free grammars but still orderly enough to be parsed by a linear 
bounded automaton.". Whether this sentence is true or not, our way of 
thinking is context-sensitive which ironically makes things simpler 
(more info with less steps to carry out).


> I envision a language existing "in between" the characteristics of C++ and D 
> (kind of). The object models both need work in C++ and D, IMO and if I am 
> forced to use GC in D, then it's a no for me because I have my own memory 
> management architecture. I can "shoe horn" C++ to behave, at least, with the 
> object model and the memory is unconstrained, and I do consider the latter a 
> main important feature.

Robert and Nick have explained that. Only I must update my sentence 
where I was speaking about higher level on demand. Actually it's more 
likely  that D gives lower level on demand (and it's more natural IMHO).

Cheers
November 04, 2008
Re: C++, D: Dinosaurs?
Nick Sabalausky wrote:
> "Tony" <tonytech08@gmail.com> wrote in message 
> news:genht8$2fcg$1@digitalmars.com...
>> "Nick Sabalausky" <a@a.a> wrote in message 
>> news:gel5tu$1a1v$1@digitalmars.com...
>>> "Clay Smith" <clayasaurus@gmail.com> wrote in message 
>>> news:gej5nr$13jd$1@digitalmars.com...
>>>> Tony wrote:
>>>>> Someone has to ask the obvious question! (The question is in the 
>>>>> subject of this post).
>>>>>
>>>>> Tony
>>>> Technically, I'd consider C++ to be undead. Old, ugly, its zombie 
>>>> rotting flesh never seems to die. It lives by eating the brains of C 
>>>> programmers.
>>>>
>>>> ~ Clay
>>> Funny you mention that, the analogies I normally think of for C++ are 
>>> either a 120+ year-old on life support or, as you said, the living dead. 
>>> It's long past it's time, but people just won't let it finally rest 
>>> (probably because, aside from D, there's no modern language that's a 
>>> suitable replacement for C++ in *all* of C++'s use-cases. C# and Java, 
>>> for instance, are only partial replacements. They can handle many of 
>>> C++'s uses, but not all.)
>> The "in *all* of C++'s use-cases" part is probably the way to create a 
>> dinosaur (call it E, F or G or whatever). The concept of "general purpose 
>> language" is getting a bit long-toothed?
>>
>> Tony
> 
> I strongly disagree. The concept of domain-specific languages is 
> ultra-trendy these days (probably promoted by the same knuckleheads that 
> hailed things like pure-OO, pure-functional, and Extreme Programming as 
> silver bullets). But I consider domain-specific languages to be purely a 
> symptom of a strong need for a better general purpose language.

Yeah. Domain-specific languages used to be really popular. I can 
remember when everyone invented their own language for saving 
configuration settings, for example <g>. It's symptomatic of an absence 
of a decent standard.

> I'd *much* rather use a true general-purpose language (which, again, C++ is 
> no longer an example of) than muck around with 500 different languages for 
> every stupid little thing.
> 
> For example, have you ever tried doing web development? 
> Considering the
> conceptual simplicity of the web, that's just absolutely pathetic. 

Amen. IMHO, it's one of the great failures of the software industry.
I find it incredible that we've ended up with a situation which is so 
dreadful.
1 2 3 4 5 6
Top | Discussion index | About this forum | D home