Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #27317 > unrolled thread

What's the best non-JVM native language to look at?

Started bySaxo <jeti789@web.de>
First post2014-01-16 04:35 -0800
Last post2014-01-19 22:34 -0500
Articles 20 on this page of 57 — 10 participants

Back to article view | Back to comp.lang.java.programmer


Contents

  What's the best non-JVM native language to look at? Saxo <jeti789@web.de> - 2014-01-16 04:35 -0800
    Re: What's the best non-JVM native language to look at? lipska the kat <lipskathekat@example.com> - 2014-01-16 13:05 +0000
      Re: What's the best non-JVM native language to look at? Saxo <jeti789@web.de> - 2014-01-16 07:05 -0800
        Re: What's the best non-JVM native language to look at? lipska the kat <lipskathekat@example.com> - 2014-01-16 16:11 +0000
      Re: What's the best non-JVM native language to look at? Martin Gregorie <martin@address-in-sig.invalid> - 2014-01-16 20:39 +0000
        Re: What's the best non-JVM native language to look at? Jeff Higgins <jeff@invalid.invalid> - 2014-01-16 16:18 -0500
          Re: What's the best non-JVM native language to look at? Martin Gregorie <martin@address-in-sig.invalid> - 2014-01-16 21:50 +0000
            Re: What's the best non-JVM native language to look at? Jeff Higgins <jeff@invalid.invalid> - 2014-01-16 17:27 -0500
      Re: What's the best non-JVM native language to look at? Joshua Cranmer 🐧 <Pidgeot18@verizon.invalid> - 2014-01-17 10:28 -0600
        Re: What's the best non-JVM native language to look at? lipska the kat <lipskathekat@example.com> - 2014-01-17 18:08 +0000
          Re: What's the best non-JVM native language to look at? Joshua Cranmer 🐧 <Pidgeot18@verizon.invalid> - 2014-01-17 15:44 -0600
            Re: What's the best non-JVM native language to look at? Martin Gregorie <martin@address-in-sig.invalid> - 2014-01-18 02:09 +0000
              Re: What's the best non-JVM native language to look at? Arne VajhĂžj <arne@vajhoej.dk> - 2014-01-17 22:15 -0500
                Re: What's the best non-JVM native language to look at? Martin Gregorie <martin@address-in-sig.invalid> - 2014-01-18 17:21 +0000
                  Re: What's the best non-JVM native language to look at? Arne VajhĂžj <arne@vajhoej.dk> - 2014-01-18 12:41 -0500
                    Re: What's the best non-JVM native language to look at? Martin Gregorie <martin@address-in-sig.invalid> - 2014-01-18 19:46 +0000
            Re: What's the best non-JVM native language to look at? Arved Sandstrom <asandstrom2@eastlink.ca> - 2014-01-18 03:56 -0400
              Re: What's the best non-JVM native language to look at? lipska the kat <lipskathekat@example.com> - 2014-01-18 08:58 +0000
          Re: What's the best non-JVM native language to look at? Martin Gregorie <martin@address-in-sig.invalid> - 2014-01-18 02:02 +0000
            Re: What's the best non-JVM native language to look at? Arne VajhĂžj <arne@vajhoej.dk> - 2014-01-17 22:17 -0500
              Re: What's the best non-JVM native language to look at? Martin Gregorie <martin@address-in-sig.invalid> - 2014-01-18 17:36 +0000
            Re: What's the best non-JVM native language to look at? Arved Sandstrom <asandstrom2@eastlink.ca> - 2014-01-28 10:13 -0400
              Re: What's the best non-JVM native language to look at? lipska the kat <lipskathekat@example.com> - 2014-01-28 16:21 +0000
                Re: What's the best non-JVM native language to look at? Martin Gregorie <martin@address-in-sig.invalid> - 2014-01-28 22:09 +0000
        Re: What's the best non-JVM native language to look at? Arne VajhĂžj <arne@vajhoej.dk> - 2014-01-18 20:02 -0500
    Re: What's the best non-JVM native language to look at? leif.roar@invalid.com (Leif Roar Moldskred) - 2014-01-16 11:30 -0600
    Re: What's the best non-JVM native language to look at? Silvio <silvio@internet.com> - 2014-01-16 23:27 +0100
    Re: What's the best non-JVM native language to look at? Arved Sandstrom <asandstrom2@eastlink.ca> - 2014-01-17 01:08 -0400
    Re: What's the best non-JVM native language to look at? Roedy Green <see_website@mindprod.com.invalid> - 2014-01-17 01:43 -0800
    Re: What's the best non-JVM native language to look at? Saxo <jeti789@web.de> - 2014-01-17 01:53 -0800
      Re: What's the best non-JVM native language to look at? Jeff Higgins <jeff@invalid.invalid> - 2014-01-17 11:03 -0500
        Re: What's the best non-JVM native language to look at? Jeff Higgins <jeff@invalid.invalid> - 2014-01-17 11:27 -0500
    Re: What's the best non-JVM native language to look at? Arne VajhĂžj <arne@vajhoej.dk> - 2014-01-18 19:49 -0500
      Re: What's the best non-JVM native language to look at? Martin Gregorie <martin@address-in-sig.invalid> - 2014-01-19 12:35 +0000
        Re: What's the best non-JVM native language to look at? Arne VajhĂžj <arne@vajhoej.dk> - 2014-01-19 17:05 -0500
          Re: What's the best non-JVM native language to look at? Martin Gregorie <martin@address-in-sig.invalid> - 2014-01-19 23:44 +0000
            Re: What's the best non-JVM native language to look at? Arne VajhĂžj <arne@vajhoej.dk> - 2014-01-19 19:45 -0500
              Re: What's the best non-JVM native language to look at? Jeff Higgins <jeff@invalid.invalid> - 2014-01-19 19:55 -0500
                Re: What's the best non-JVM native language to look at? Jeff Higgins <jeff@invalid.invalid> - 2014-01-19 20:04 -0500
                  Re: What's the best non-JVM native language to look at? Arne VajhĂžj <arne@vajhoej.dk> - 2014-01-20 15:38 -0500
                    Re: What's the best non-JVM native language to look at? Jeff Higgins <jeff@invalid.invalid> - 2014-01-20 18:30 -0500
                      Re: What's the best non-JVM native language to look at? Arne VajhĂžj <arne@vajhoej.dk> - 2014-01-20 19:43 -0500
                        Re: What's the best non-JVM native language to look at? Jeff Higgins <jeff@invalid.invalid> - 2014-01-20 20:16 -0500
                          Re: What's the best non-JVM native language to look at? Jeff Higgins <jeff@invalid.invalid> - 2014-01-20 20:30 -0500
                          Re: What's the best non-JVM native language to look at? Arne VajhĂžj <arne@vajhoej.dk> - 2014-01-20 20:43 -0500
                            Re: What's the best non-JVM native language to look at? Jeff Higgins <jeff@invalid.invalid> - 2014-01-21 00:55 -0500
                Re: What's the best non-JVM native language to look at? Martin Gregorie <martin@address-in-sig.invalid> - 2014-01-20 21:41 +0000
                  Re: What's the best non-JVM native language to look at? Arne VajhĂžj <arne@vajhoej.dk> - 2014-01-20 17:10 -0500
                    Re: What's the best non-JVM native language to look at? lipska the kat <lipskathekat@example.com> - 2014-01-21 08:59 +0000
                    Re: What's the best non-JVM native language to look at? leif.roar@invalid.com (Leif Roar Moldskred) - 2014-01-21 04:03 -0600
                      Re: What's the best non-JVM native language to look at? lipska the kat <lipskathekat@example.com> - 2014-01-21 11:53 +0000
                        Re: What's the best non-JVM native language to look at? Martin Gregorie <martin@address-in-sig.invalid> - 2014-01-21 22:09 +0000
                    Re: What's the best non-JVM native language to look at? Martin Gregorie <martin@address-in-sig.invalid> - 2014-01-21 22:05 +0000
              Re: What's the best non-JVM native language to look at? Martin Gregorie <martin@address-in-sig.invalid> - 2014-01-20 21:39 +0000
                Re: What's the best non-JVM native language to look at? Arne VajhĂžj <arne@vajhoej.dk> - 2014-01-20 17:21 -0500
                  Re: What's the best non-JVM native language to look at? Martin Gregorie <martin@address-in-sig.invalid> - 2014-01-21 22:17 +0000
    Re: What's the best non-JVM native language to look at? Jeff Higgins <jeff@invalid.invalid> - 2014-01-19 22:34 -0500

Page 2 of 3 — ← Prev page 1 [2] 3  Next page →


#27344

FromMartin Gregorie <martin@address-in-sig.invalid>
Date2014-01-18 17:36 +0000
Message-ID<lbee2q$vds$2@dont-email.me>
In reply to#27340
On Fri, 17 Jan 2014 22:17:32 -0500, Arne VajhĂžj wrote:

> On 1/17/2014 9:02 PM, Martin Gregorie wrote:
>> On Fri, 17 Jan 2014 18:08:26 +0000, lipska the kat wrote:
>>> According to lots of references on the intertubes the first C++
>>> compiler was written in something called 'C with classes' which was
>>> written in ... C
>>>
>> Way back when C++ was the new kid on the block I remember reading that
>> the first C++ compilker was actually a standard C compiler with the
>> Cfront preprocessor substituted for the usual cpre preprocessor.
> 
> http://en.wikipedia.org/wiki/Cfront
>
An interesting read that I hadn't seen before. Thanks for posting it.

Coincidentally I've recently been writing C plugins, loaded explicitly at 
runtime via dlopen() and dlsym() and, as a result, have become fully 
exposed to load-time type checking.


-- 
martin@   | Martin Gregorie
gregorie. | Essex, UK
org       |

[toc] | [prev] | [next] | [standalone]


#27416

FromArved Sandstrom <asandstrom2@eastlink.ca>
Date2014-01-28 10:13 -0400
Message-ID<yWOFu.111005$JH4.23656@fx09.iad>
In reply to#27337
On 01/17/2014 10:02 PM, Martin Gregorie wrote:
> On Fri, 17 Jan 2014 18:08:26 +0000, lipska the kat wrote:
>
>> According to lots of references on the intertubes the first C++ compiler
>> was written in something called 'C with classes' which was written in
>> ... C
>>
> Way back when C++ was the new kid on the block I remember reading that
> the first C++ compilker was actually a standard C compiler with the Cfront
> preprocessor substituted for the usual cpre preprocessor.
>
> ====
>
> Personally I still can't be arsed to spend the time needed to learn C++.
> I looked at it some time ago and found it offensive for both its
> complexity and the obscene amount of code generated. In any case, far too
> much of the so-called "C++" I've looked at has been nothing more than
> ANSI C with comments delimited by "//": and not class or object in sight.
>
I agree about the complexity. I'll wager most people do, even C++ 
supporters...in fact some C++ aficionados glory in the complexity of the 
language. This is exactly why most C++ programmers use a small subset of 
the "++" stuff...and not even that always correctly.

I don't know what you mean by generated code. Templates, presumably. Or 
is it executable size? Neither is a problem. I'm more worried about 
_Java_ code bloat. This is not a major C++-specific problem.

> If a programming task is essentially file manipulation I'll use awk. If
> the job is moderately complex and can be written in ANSI C I'll use that.
> If an OO approach is called for I'll use Java and, if some fiddling is
> required that Java can't do, I'll use a combination of C and Java with
> sockets for inter-language data transfer.
>
>
I probably wouldn't resort to C as quickly as you do, but my general 
philosophy - given free rein - is not way different. I certainly don't 
see Java as the go-to language for everything...and some people do.

I say "given free rein" because most of the time it's not possible to 
use the best language on a real job, for various reasons.

If I had to nominate *one* programming language that I think is #1 
all-time, awk (and some variants) would be my choice.

AHS
-- 
When a true genius appears, you can know him by this sign:
that all the dunces are in a confederacy against him.
-- Jonathan Swift

[toc] | [prev] | [next] | [standalone]


#27417

Fromlipska the kat <lipskathekat@example.com>
Date2014-01-28 16:21 +0000
Message-ID<LOWdnW0ti6dmRXrPnZ2dnUVZ8rydnZ2d@bt.com>
In reply to#27416
On 28/01/14 14:13, Arved Sandstrom wrote:
> On 01/17/2014 10:02 PM, Martin Gregorie wrote:
>> On Fri, 17 Jan 2014 18:08:26 +0000, lipska the kat wrote:
>>
>>> According to lots of references on the intertubes the first C++ compiler
>>> was written in something called 'C with classes' which was written in
>>> ... C
>>>
>> Way back when C++ was the new kid on the block I remember reading that
>> the first C++ compilker was actually a standard C compiler with the
>> Cfront
>> preprocessor substituted for the usual cpre preprocessor.
>>
>> ====
>>
>> Personally I still can't be arsed to spend the time needed to learn C++.
>> I looked at it some time ago and found it offensive for both its
>> complexity and the obscene amount of code generated. In any case, far too
>> much of the so-called "C++" I've looked at has been nothing more than
>> ANSI C with comments delimited by "//": and not class or object in sight.
>>
> I agree about the complexity. I'll wager most people do, even C++
> supporters...in fact some C++ aficionados glory in the complexity of the
> language. This is exactly why most C++ programmers use a small subset of
> the "++" stuff...and not even that always correctly.
>
> I don't know what you mean by generated code. Templates, presumably. Or
> is it executable size? Neither is a problem. I'm more worried about
> _Java_ code bloat. This is not a major C++-specific problem.
>
>> If a programming task is essentially file manipulation I'll use awk. If
>> the job is moderately complex and can be written in ANSI C I'll use that.
>> If an OO approach is called for I'll use Java and, if some fiddling is
>> required that Java can't do, I'll use a combination of C and Java with
>> sockets for inter-language data transfer.
>>
>>
> I probably wouldn't resort to C as quickly as you do, but my general
> philosophy - given free rein - is not way different. I certainly don't
> see Java as the go-to language for everything...and some people do.
>
> I say "given free rein" because most of the time it's not possible to
> use the best language on a real job, for various reasons.
>
> If I had to nominate *one* programming language that I think is #1
> all-time, awk (and some variants) would be my choice.

awk -> erk!


-- 
Lipska the Kat©: Troll hunter, sandbox destroyer,
treacherous feline and farscape dreamer of Aeryn Sun
GNU/Linux user #560883 - http://www.linuxcounter.net

[toc] | [prev] | [next] | [standalone]


#27420

FromMartin Gregorie <martin@address-in-sig.invalid>
Date2014-01-28 22:09 +0000
Message-ID<lc99qo$qur$1@dont-email.me>
In reply to#27417
On Tue, 28 Jan 2014 16:21:14 +0000, lipska the kat wrote:

> awk -> erk!

Why erk at it? 

For the sort of task its designed to do awk is very concise. It is easy 
to write and debug for anybody with a reasonable knowledge of regexes and 
any programming language that has C-like syntax. For my money it beats 
Perl into a cocked hat and leaves many 'report writers' grovelling in the 
dust, especially if they're called RPG3.
  

-- 
martin@   | Martin Gregorie
gregorie. | Essex, UK
org       |

[toc] | [prev] | [next] | [standalone]


#27348

FromArne VajhĂžj <arne@vajhoej.dk>
Date2014-01-18 20:02 -0500
Message-ID<52db2423$0$296$14726298@news.sunsite.dk>
In reply to#27333
On 1/17/2014 11:28 AM, Joshua Cranmer 🐧 wrote:
> On 1/16/2014 7:05 AM, lipska the kat wrote:
>> I can't think of a language that isn't ultimately implemented in C.
>
> Zero-cost exception handling cannot be expressed in (ISO) C code (or, at
> the very least, not in a way that a C compiler will faithfully compile
> it--in the situation that would arise, clang and gcc are both extremely
> happy to mangle the code, even at -O0). Well, MSVC has __try/__catch,
> but that's not ISO C.
>
>> If you think about it, any language *other* than C is simply a high(er)
>> level interface to C (ignoring assembler of course). Even C compilers
>> are written in C (go figure :-)
>
> Clang is written in C++. GCC is written in C++ as of 4.8. MSVC is
> written in C++. I'm pretty sure icc is also written in C++. Open64
> appears to be in C++ as well. Which means that all the C compilers which
> find major use are written in C++, not C.

And they would probably benefit from being written in something easier
like Java.

:-)

>> Unless there is a revolution in the development of software development
>> languages I can't see C becoming obsolete any time soon. If you spend
>> time with C it will help you with almost any other language you can
>> think of. It's a no-brainer AFAICS. Use Java to earn good money, learn C
>> as an essential addition to your skill set.
>
> I have reached the point where I find C unusable as a programming
> language. While it lets you bury yourself in details and change things
> to your hearts content, it also requires that you bury yourself in
> details--you can't convert C code into partially-managed memory like you
> can in C++ with std::shared_ptr or std::unique_ptr. Also, C lacks a
> usable standard library (no hash maps, no auto-growing arrays). And I
> can go on and on.

But if you really need those high level features wouldn't there be
even better alternatives to C than C++?

To me:
   need for high level powerful language => Java or a step further Scala
   need for low level (rare but happens) => C is good

Well - I guess there is one more:
   need for high level language integratable with legacy C => C++

Arne

[toc] | [prev] | [next] | [standalone]


#27322

Fromleif.roar@invalid.com (Leif Roar Moldskred)
Date2014-01-16 11:30 -0600
Message-ID<_cydnZDXW7-EikXPnZ2dnUVZ8vOdnZ2d@giganews.com>
In reply to#27317
Saxo <jeti789@web.de> wrote:
> 
> I wonder how people in a similar situation would reason about this.
> 

It depends what you want to get out of it. Doing a bit of C is valuable
that it'll introduce you to the "C biotope" of tools -- compilators, 
linkers, Make and makefiles, autoconf and more -- which is both useful
knowledge directly (writing a little bit of C and doing approriate
linking is often the quickest and possibly the only way to access 
useful libraries or talk directly to the OS or hardware) and indirectly
in that a lot of _other_ tools and systems are based on the similar
concepts and ways of doing stuff.

On the other hand, other, less bareboned languages can teach you more
about language design, programming styles and influence the way you
program and structure your code for the better. Here you might want to
look for languages that are widely different in programming approach
than the ones you are used to -- you want a language that makes you
rethink what it means to program. R, Lisp, Prolog, Assembler, even 
Forth.

-- 
Leif Roar Moldskred

[toc] | [prev] | [next] | [standalone]


#27326

FromSilvio <silvio@internet.com>
Date2014-01-16 23:27 +0100
Message-ID<52d85ce0$0$2893$e4fe514c@news2.news.xs4all.nl>
In reply to#27317
On 01/16/2014 01:35 PM, Saxo wrote:
> Hello,
>
> I have only been worked with vm based languages (first Smalltalk, then Java). Now I would like to have a look at a language that is natively compiled. I know this forum is not really the place for native PLs. But it is the place where people best understand my background.
>
> I will probably make my living with Java or maybe some other JVM language for a long time to come. It's only about looking into some native compiled language as a complement and to look at new things. So I have been looking into Go, D, Rust, C, C++. Problem is that after many iterations I have somewhat ended up in disorientation. So I would like to check out what other people think to get some quality check.
>
> I think I will only have a chance to do a bit C at work one time (or C with using a C++ compiler as a better C compiler. C++ takes years to learn on full-time assignment and I don't think I will have a chance to pick it up well enough, because there are simply too many aspects of the language.
>
> Go is ideal for someone with my background, easy to pick up, no manual memory management, good networking, good concurrency (based on CSP by Hoare as Rust and Occam). But the language itself is really simplistic.
>
> Then there is D which I like quite much as it is really high-level, but also allows for system programming and low-level stuff. But I don't think you will ever get work for it. For sure not in my country.
>
> So what I end up is looking into C using a C++ compiler or looking into Go (to get better understanding of concurrency using channels as different approach). D would be really nice, but I fear it would also be quite effortful to pick it up nice.
>
>  From what I've written so far you might be able to see where the disorientation / confusion originates from ... My mind says I should do some C proramming where there is the best chance to do some work with it at some company one day. But my heard tells me to do some more fancy stuff like Go or D.
>
> I wonder how people in a similar situation would reason about this.
>
> Thanks so much, Saxo
>

I would also opt for C since that language is both low level and concise 
enough that it allows you to focus on what's really different when you 
go native.

Among other paths I walked the C => C++ => Java route but I do not think 
that C++ is worth the investment any more if you intend to also live in 
the (J)VM world. At the time it was different since it was the way out 
of procedural C to OOP. Nowadays there are plenty of OO and otherwise 
higher level languages on the VM side of things.

Another couple of languages I am glad I spent a lot of time with is 
Prolog, Clean and Miranda (the latter two are in some way predecessors 
of Haskell). Not exactly in the same arena but a great way to learn new 
concepts.

Pure personal opinion, of course.

Cheers,

Silvio

[toc] | [prev] | [next] | [standalone]


#27328

FromArved Sandstrom <asandstrom2@eastlink.ca>
Date2014-01-17 01:08 -0400
Message-ID<HV2Cu.9079$zN2.4548@fx02.iad>
In reply to#27317
On 01/16/2014 08:35 AM, Saxo wrote:
> Hello,
>
> I have only been worked with vm based languages (first Smalltalk, then Java). Now I would like to have a look at a language that is natively compiled. I know this forum is not really the place for native PLs. But it is the place where people best understand my background.
>
> I will probably make my living with Java or maybe some other JVM language for a long time to come. It's only about looking into some native compiled language as a complement and to look at new things. So I have been looking into Go, D, Rust, C, C++. Problem is that after many iterations I have somewhat ended up in disorientation. So I would like to check out what other people think to get some quality check.
>
> I think I will only have a chance to do a bit C at work one time (or C with using a C++ compiler as a better C compiler. C++ takes years to learn on full-time assignment and I don't think I will have a chance to pick it up well enough, because there are simply too many aspects of the language.
>
> Go is ideal for someone with my background, easy to pick up, no manual memory management, good networking, good concurrency (based on CSP by Hoare as Rust and Occam). But the language itself is really simplistic.
>
> Then there is D which I like quite much as it is really high-level, but also allows for system programming and low-level stuff. But I don't think you will ever get work for it. For sure not in my country.
>
> So what I end up is looking into C using a C++ compiler or looking into Go (to get better understanding of concurrency using channels as different approach). D would be really nice, but I fear it would also be quite effortful to pick it up nice.
>
>  From what I've written so far you might be able to see where the disorientation / confusion originates from ... My mind says I should do some C proramming where there is the best chance to do some work with it at some company one day. But my heard tells me to do some more fancy stuff like Go or D.
>
> I wonder how people in a similar situation would reason about this.
>
> Thanks so much, Saxo
>

If you do not know C, seriously learn it. It's not like it's perfect, 
but it's one of the original foundational languages. I wouldn't like 
devote hundreds of hours of study to it, but get a solid handle on it.

C++ takes years to learn, period. People who know it well enough to use 
it safely are people who could be on C++ specifications committees, or 
already are. I'm not saying C++ is bad, per se, but unless you have a 
great deal of time, I wouldn't go down this road.

Not actually sure why "natively compiled" is important to you.

AHS
-- 
When a true genius appears, you can know him by this sign:
that all the dunces are in a confederacy against him.
-- Jonathan Swift

[toc] | [prev] | [next] | [standalone]


#27329

FromRoedy Green <see_website@mindprod.com.invalid>
Date2014-01-17 01:43 -0800
Message-ID<5nuhd95nniqrkdvlqlrvbthrvuil0g2qu7@4ax.com>
In reply to#27317
On Thu, 16 Jan 2014 04:35:45 -0800 (PST), Saxo <jeti789@web.de> wrote,
quoted or indirectly quoted someone who said :

> Now I would like to have a look at a language that is natively compiled.=

Pretty well any language can be natively compiled.  Java is natively
compiled with Jet.  See http://mindprod.com/jgloss/jet.html
The code is astounding, better that I could generate in ASM by hand.
It takes factors into consideration almost no assembler programmer
would have the patience to track.
-- 
Roedy Green Canadian Mind Products http://mindprod.com
Unlike many machines, computers require no water once they are
manufactured.

[toc] | [prev] | [next] | [standalone]


#27331

FromSaxo <jeti789@web.de>
Date2014-01-17 01:53 -0800
Message-ID<c25005cb-c338-4521-946d-6492eff17563@googlegroups.com>
In reply to#27317
And I thought I would get some answer like "why are you posting this to comp.lang.java.programmer, you moron?". Now I got plenty of useful replies :-).

"As lipska says, forget IDEs - use your favourite editor and run 'make'
from the command line or from the editor if it offers that facility. "

This will get me a hard time as I'm used very much to IDEs. JetBrains announced they are working on an IDE for C/C++. That would be something I would usually opt for. But I'll try ;-). I like C with XCode on Mac, because Apple's C compiler has support for closures (yeah, I'm a spoiled child that can't live without all the comfort...).  
  
"Among other paths I walked the C => C++ => Java route but I do not think
that C++ is worth the investment any more if you intend to also live in
the (J)VM world"

Without several years of development experience in C++ you simply won't get a C++ job. So, I think C makes sense as a complement to Java or Objective-C. 

"Another couple of languages I am glad I spent a lot of time with is
Prolog, Clean and Miranda (the latter two are in some way predecessors
of Haskell)."

I started with Scala some weeks ago. I don't really like it, because it is a bit overloaded with too many features for my taste. But Scala + Akka is very strong on concurrency + multi-threading and this is what I like to do and where I already gained some experience. But it is another JVM language and I wanted to have a look into systems programming.

"C++ takes years to learn, period. People who know it well enough to use
it safely are people who could be on C++ specifications committees, or
already are. I'm not saying C++ is bad, per se, but unless you have a
great deal of time, I wouldn't go down this road."

I developed my thesis work in C++ and that was about 15 years ago or something. Yeah, C++ is too effortful. You can't learn it in your spare time. Maybe I do basically C, but make use of some features of C++ to make C development easier. I'm thinking of an approach of writing C in a style like in Go. With the use of a C++ compiler that should be possible.

Thanks for all the book hints. I have "Practical C Programming" by Steve Oualline already. Thinking of buying "Understanding and Using C Pointers" from O'Reilly somewhen later, because pointers is something where I need to learn a lot (especially with regard to C). But I'll have a look at all the other books mentioned as well.

Regards, Oliver

[toc] | [prev] | [next] | [standalone]


#27332

FromJeff Higgins <jeff@invalid.invalid>
Date2014-01-17 11:03 -0500
Message-ID<lbbkb3$ev4$1@dont-email.me>
In reply to#27331
On 01/17/2014 04:53 AM, Saxo wrote:
> Thanks for all the book hints. I have "Practical C Programming" by Steve Oualline already. Thinking of buying "Understanding and Using C Pointers" from O'Reilly somewhen later, because pointers is something where I need to learn a lot (especially with regard to C). But I'll have a look at all the other books mentioned as well.
>
A recent post to c.l.c <la21e6$qf2$1@news4.open-news-network.org> 
reminds me of a resource that I have found helpful.
Steve Summit C Programming
<http://www.eskimo.com/~scs/>

[toc] | [prev] | [next] | [standalone]


#27334

FromJeff Higgins <jeff@invalid.invalid>
Date2014-01-17 11:27 -0500
Message-ID<lbblnv$o62$1@dont-email.me>
In reply to#27332
On 01/17/2014 11:03 AM, Jeff Higgins wrote:
> On 01/17/2014 04:53 AM, Saxo wrote:
>> Thanks for all the book hints. I have "Practical C Programming" by
>> Steve Oualline already. Thinking of buying "Understanding and Using C
>> Pointers" from O'Reilly somewhen later, because pointers is something
>> where I need to learn a lot (especially with regard to C). But I'll
>> have a look at all the other books mentioned as well.
>>
> A recent post to c.l.c <la21e6$qf2$1@news4.open-news-network.org>
> reminds me of a resource that I have found helpful.
> Steve Summit C Programming
> <http://www.eskimo.com/~scs/>
>
Excellent introductory text; C Programming: A Modern Approach, K.N. 
King, W.W. Norton & Co.

[toc] | [prev] | [next] | [standalone]


#27347

FromArne VajhĂžj <arne@vajhoej.dk>
Date2014-01-18 19:49 -0500
Message-ID<52db211d$0$304$14726298@news.sunsite.dk>
In reply to#27317
On 1/16/2014 7:35 AM, Saxo wrote:
> I have only been worked with vm based languages (first Smalltalk,
> then Java). Now I would like to have a look at a language that is
> natively compiled. I know this forum is not really the place for
> native PLs. But it is the place where people best understand my
> background.
>
> I will probably make my living with Java or maybe some other JVM
> language for a long time to come. It's only about looking into some
> native compiled language as a complement and to look at new things.
> So I have been looking into Go, D, Rust, C, C++. Problem is that
> after many iterations I have somewhat ended up in disorientation. So
> I would like to check out what other people think to get some quality
> check.
>
> I think I will only have a chance to do a bit C at work one time (or
> C with using a C++ compiler as a better C compiler. C++ takes years
> to learn on full-time assignment and I don't think I will have a
> chance to pick it up well enough, because there are simply too many
> aspects of the language.
>
> Go is ideal for someone with my background, easy to pick up, no
> manual memory management, good networking, good concurrency (based on
> CSP by Hoare as Rust and Occam). But the language itself is really
> simplistic.
>
> Then there is D which I like quite much as it is really high-level,
> but also allows for system programming and low-level stuff. But I
> don't think you will ever get work for it. For sure not in my
> country.
>
> So what I end up is looking into C using a C++ compiler or looking
> into Go (to get better understanding of concurrency using channels as
> different approach). D would be really nice, but I fear it would also
> be quite effortful to pick it up nice.
>
> From what I've written so far you might be able to see where the
> disorientation / confusion originates from ... My mind says I should
> do some C proramming where there is the best chance to do some work
> with it at some company one day. But my heard tells me to do some
> more fancy stuff like Go or D.

I think (an many of the previous posts) that you should go with C.

You already know a high level platform independent language in
Java.

If you look for a language that can be used for what Java is
not suited for like low level high platform dependent code, then
C is perfect.

So I would say that C supplement Java nicely.

The other alternative I can think of is C# with the intention
to do Windows desktop apps.

Arne

[toc] | [prev] | [next] | [standalone]


#27349

FromMartin Gregorie <martin@address-in-sig.invalid>
Date2014-01-19 12:35 +0000
Message-ID<lbggq0$n5i$1@dont-email.me>
In reply to#27347
On Sat, 18 Jan 2014 19:49:31 -0500, Arne VajhĂžj wrote:

> The other alternative I can think of is C# with the intention to do
> Windows desktop apps.
>
This could well be a dead-end language unless Windows 9 is stunning 
enough to undo the damage caused by Vista and Windows 8. 

IMO this would also including providing the same unified API for all 
flavours of Windows 9, i.e. desktop, server, phone and tablet) so that an 
application program written for any of them will compile and run on the 
other others without needing any source code changes or conditional 
compilation features. I did and still do find it unbelievable that MS 
could have made such an obvious mistake as using different sets of APIs 
the three W8 flavours. 


-- 
martin@   | Martin Gregorie
gregorie. | Essex, UK
org       |

[toc] | [prev] | [next] | [standalone]


#27350

FromArne VajhĂžj <arne@vajhoej.dk>
Date2014-01-19 17:05 -0500
Message-ID<52dc4c29$0$301$14726298@news.sunsite.dk>
In reply to#27349
On 1/19/2014 7:35 AM, Martin Gregorie wrote:
> On Sat, 18 Jan 2014 19:49:31 -0500, Arne VajhĂžj wrote:
>> The other alternative I can think of is C# with the intention to do
>> Windows desktop apps.
>>
> This could well be a dead-end language unless Windows 9 is stunning
> enough to undo the damage caused by Vista and Windows 8.

Windows is still on something like 90% of all PC's - not very
likely to go away.

> IMO this would also including providing the same unified API for all
> flavours of Windows 9, i.e. desktop, server, phone and tablet) so that an
> application program written for any of them will compile and run on the
> other others without needing any source code changes or conditional
> compilation features. I did and still do find it unbelievable that MS
> could have made such an obvious mistake as using different sets of APIs
> the three W8 flavours.

????

Isn't that exactly what MS did with WinRT?

OK - they did not achieve full functional parity on all
platforms in 8, but they have promised to improve that in 9.

But I am not sure that it matters so much. Any attempt to use
the same UI on a phone and a PC will fail miserable.

Arne

[toc] | [prev] | [next] | [standalone]


#27351

FromMartin Gregorie <martin@address-in-sig.invalid>
Date2014-01-19 23:44 +0000
Message-ID<lbho0v$8t0$1@dont-email.me>
In reply to#27350
On Sun, 19 Jan 2014 17:05:26 -0500, Arne VajhĂžj wrote:

> Isn't that exactly what MS did with WinRT?
>
Thats what they *said* they did, but apparently what they said and what 
they did are not the same.

Its not impossible: its only a matter of providing the same[*] API in an 
ARM box as is already implemented in an X86 box. Proof that this is quite 
possible is given by the seamless port of Debian Linux and the GNU C 
compiler toolset to the RaspberryPi (ARM) from the PC (X86). I know, 
because I've done it with both my own and some 3rd party packages, that 
you can use cvs to checkout a set of sources and makefiles from a PC 
running Linux to an RPi running Raspbian (the Debian port) and compile it 
without changing anything that was checked out. If the tiny Raspberry Pi 
Foundation can make this work, than Microsoft certainly should be able to 
do the same.
 
[*] 'same' as in functionally identical interfaces after compiling them 
on any of the target hardware.

> But I am not sure that it matters so much. Any attempt to use the same
> UI on a phone and a PC will fail miserable.
> 
Why do you say that? There's absolutely no excuse for file system APIs to 
differ If your OS exposes a set of, say, APIs to manage a graphical 
display, that should work on all hardware regardless of whether the code 
implementing the system side of the API is the same on all hardware or 
not. In fact I'd expect the system code to differ in order to do 
something sensible with the different screen sizes, pixel size and colour 
palettes supported by target hardware and to hide differences between a 
single-touch screen and a mouse. Again, this is nothing new. the X system 
works perfectly well on the RPi and can easily handle different screen 
sizes and resolutions. I can easily run code written for a WinCE-based PNA 
on a Windows box after its been recompiled. Actually its running on a 
remote Linux box under Wine and using my Linux laptop's display: the 
window it presents on the laptop is a lot bigger than the PNA's screen, 
but it has the same aspect ratio and much better resolution and, given 
that mouse clicks and drags and a keyboard are used instead of the single 
touch PNA screen with a graphical keyboard, inputs  works exactly the 
same too.   


-- 
martin@   | Martin Gregorie
gregorie. | Essex, UK
org       |

[toc] | [prev] | [next] | [standalone]


#27352

FromArne VajhĂžj <arne@vajhoej.dk>
Date2014-01-19 19:45 -0500
Message-ID<52dc71c3$0$295$14726298@news.sunsite.dk>
In reply to#27351
On 1/19/2014 6:44 PM, Martin Gregorie wrote:
> On Sun, 19 Jan 2014 17:05:26 -0500, Arne VajhĂžj wrote:
>
>> Isn't that exactly what MS did with WinRT?
>>
> Thats what they *said* they did, but apparently what they said and what
> they did are not the same.
>
> Its not impossible: its only a matter of providing the same[*] API in an
> ARM box as is already implemented in an X86 box. Proof that this is quite
> possible is given by the seamless port of Debian Linux and the GNU C
> compiler toolset to the RaspberryPi (ARM) from the PC (X86). I know,
> because I've done it with both my own and some 3rd party packages, that
> you can use cvs to checkout a set of sources and makefiles from a PC
> running Linux to an RPi running Raspbian (the Debian port) and compile it
> without changing anything that was checked out. If the tiny Raspberry Pi
> Foundation can make this work, than Microsoft certainly should be able to
> do the same.
>
> [*] 'same' as in functionally identical interfaces after compiling them
> on any of the target hardware.
>
>> But I am not sure that it matters so much. Any attempt to use the same
>> UI on a phone and a PC will fail miserable.
>>
> Why do you say that? There's absolutely no excuse for file system APIs to
> differ

????

Isn't that what Windows.Storage.Streams.FileInputStream, 
Windows.Storage.Streams.FileOutputStream and the rest provide?

>     If your OS exposes a set of, say, APIs to manage a graphical
> display, that should work on all hardware regardless of whether the code
> implementing the system side of the API is the same on all hardware or
> not. In fact I'd expect the system code to differ in order to do
> something sensible with the different screen sizes, pixel size and colour
> palettes supported by target hardware and to hide differences between a
> single-touch screen and a mouse. Again, this is nothing new. the X system
> works perfectly well on the RPi and can easily handle different screen
> sizes and resolutions. I can easily run code written for a WinCE-based PNA
> on a Windows box after its been recompiled. Actually its running on a
> remote Linux box under Wine and using my Linux laptop's display: the
> window it presents on the laptop is a lot bigger than the PNA's screen,
> but it has the same aspect ratio and much better resolution and, given
> that mouse clicks and drags and a keyboard are used instead of the single
> touch PNA screen with a graphical keyboard, inputs  works exactly the
> same too.

????

The menus of a modern PC app is useless on a phone.

That is not something I am making up.

Try comparing how web browsers look on PC and phone.

Arne

[toc] | [prev] | [next] | [standalone]


#27353

FromJeff Higgins <jeff@invalid.invalid>
Date2014-01-19 19:55 -0500
Message-ID<lbhs7o$70j$1@dont-email.me>
In reply to#27352
On 01/19/2014 07:45 PM, Arne VajhĂžj wrote:

> ????

I suspect Martin Gregorie means this:
<http://www.microsoftvirtualacademy.com/training-courses/windows-8-and-windows-phone-8-app-development>.

[toc] | [prev] | [next] | [standalone]


#27354

FromJeff Higgins <jeff@invalid.invalid>
Date2014-01-19 20:04 -0500
Message-ID<lbhsok$9iq$1@dont-email.me>
In reply to#27353
On 01/19/2014 07:55 PM, Jeff Higgins wrote:
> On 01/19/2014 07:45 PM, Arne VajhĂžj wrote:
>
>> ????
>
> I suspect Martin Gregorie means this:
> <http://www.microsoftvirtualacademy.com/training-courses/windows-8-and-windows-phone-8-app-development>.
>
>
>
 From the presentation:
Platform-specific Features
Similar features with different APIs and implementations
Do not try to reuse code for these features
Some examples:
Application lifecycle (PLM)
Background processing
Tiles and toast notifications
Image/video capture
System services
App bar
Networking differences

[toc] | [prev] | [next] | [standalone]


#27360

FromArne VajhĂžj <arne@vajhoej.dk>
Date2014-01-20 15:38 -0500
Message-ID<52dd895b$0$304$14726298@news.sunsite.dk>
In reply to#27354
On 1/19/2014 8:04 PM, Jeff Higgins wrote:
> On 01/19/2014 07:55 PM, Jeff Higgins wrote:
>> On 01/19/2014 07:45 PM, Arne VajhĂžj wrote:
>>> ????
>>
>> I suspect Martin Gregorie means this:
>> <http://www.microsoftvirtualacademy.com/training-courses/windows-8-and-windows-phone-8-app-development>.
>>
>  From the presentation:
> Platform-specific Features
> Similar features with different APIs and implementations
> Do not try to reuse code for these features
> Some examples:
> Application lifecycle (PLM)
> Background processing
> Tiles and toast notifications
> Image/video capture
> System services
> App bar
> Networking differences

I did not watch it.

But "Do not try to reuse code for these features" sounds like
"the API is the same but you should do things differently".

Which does not surprise me.

Arne

[toc] | [prev] | [next] | [standalone]


Page 2 of 3 — ← Prev page 1 [2] 3  Next page →

Back to top | Article view | comp.lang.java.programmer


csiph-web