Re: Top 10 most common hard skills listed on resumes...

Liste des GroupesRevenir à l c 
Sujet : Re: Top 10 most common hard skills listed on resumes...
De : antispam (at) *nospam* fricas.org (Waldek Hebisch)
Groupes : comp.lang.c
Date : 08. Sep 2024, 02:05:59
Autres entêtes
Organisation : To protect and to server
Message-ID : <vbipp5$24kl5$1@paganini.bofh.team>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
User-Agent : tin/2.6.2-20221225 ("Pittyvaich") (Linux/6.1.0-9-amd64 (x86_64))
Bart <bc@freeuk.com> wrote:
On 07/09/2024 02:44, Waldek Hebisch wrote:
Bart <bc@freeuk.com> wrote:
On 06/09/2024 11:19, Waldek Hebisch wrote:
Bart <bc@freeuk.com> wrote:
 
(You can balance it out by by requiring ASSIGN(&A, &B)!)
 
This would not work in general, as I wrote it, the following are
valid:
 
assign(&a, 42)
assign(&a, a + 1)
 
but the second argument has no address, so your variant would not
work.
 
I believe that C's compound literals can give a reference to a+1:
 
  #include <stdio.h>
 
  void assign(int* lhs, int* rhs) {
      *lhs = *rhs;
  }
 
  int main(void) {
      int a=20;
 
      assign(&a, &(int){a+1});
 
      printf("a = %d\n", a);
  }
 
 
The output from this is 21.

Yes, that would work.  But you use here complex language feature,
rather unattractive if one want to use assign as a basic
construct.

You can use stack machines to get reasonably simple definition of
semantics.  But still slightly more complex than what I outlined
above.  And code for stack machines is unpleasent to optimize.
In a compiler for a language where official semantics is stack
based the first things that compiler does is to track few items
on top of the stack and match them to sequences like
 
push a
push b
call op
 
Once sequence is matched it is replaced by corresonding operation
on variables.  If this matching works well you get conventional
(non-stack) intermediate representaion and reasonably good code.
If matching fails, the resulting object code wastes time on stack
operations.
 
(My stack IL is different. The stack is a compile-time stack only, and
code is scanned linearly during code-generation. Roughly, the 'stack'
corresponds to the machine's register-file, although in practice
register allocation is ad-hoc.

OK, that is another way to work around slowness of the stack.  But
you get into trouble when you have more items on the stack than
number of available registers.

 Best Forth compilers
have sophisticated code to track stack use and replace it by
use of registers.  Other Forth compilers just accept slowness.
 
Then you no longer have a language which can be implemented in a few KB.
You might as well use a real with with proper data types, and not have
the stack exposed in the language. Forth code can be very cryptic
because of that.

First, it is not my goal to advocate for Forth use.  But I think
it is interesting to understand why things were done in the past.
Concerning exposed stack, Pop11 has exposed stack.  5 line
executive summary could be the same as of Forth.  But language
is feels quite different.  Pop11 uses classic infix syntax, and
variable access puts "value" on the stack.  I put "value" in
scare qoutes because most of Pop11 data items are composite
and live in memory.  They are accessed using their address and
that is what is put on the stack.  But semantically you deal
with values and addresses are normally hidden from users.  If you
wish you can ignore the stack.  Presence of the stack is visible
in examples like below:
: 2*3 =>
** 6
: 2, 3, *() =>
** 6
the first line is infix form, '=>' oprator prints what is on
the stack (but you cat treat it as "print current result").
In the second line two numbers are pushed on the stack and
then there is call to multiplication routine.  Parser knows
that '*' is an operator, but since there are no argument
'*' is treated as ordinary identifer and as result you
get multiplication routine.  Like in other languages parentheses
mean function call.  Up to now this may look just as some
weirdness with no purpose.  But there are advantages.  One
is that Pop11 functions can return multiple values, they just
put as many values as needed on the stack.  Second, one can
write functions which take variable number of arguments.
And one can use say a loop to put varible number of arguments
on the stack and then call a routine expecting variable
number of arguments.  In fact, there is common Pop11 idiom
to handle aggregas: 'explode' puts all members of the aggregate
on the stack.  There are also constructor function which build
aggregates from values on the stack.

Coming back to Forth, you can easily add infix syntax to Forth
but Forth users somewhat dislike idea of using infix for most
of programming.  My personal opinion is that Fort was good
around 1980.  At that time there was quite simple implementation,
language offered interactive developement and some powerful
feature and there were interesting compromise between speed
and size.  Namely, Forh code tended to be smaller than
machine code and deliver speed lower than machine code but
better than some other alternatives.  Now, interactive developement
is done on bigger machines, so small size is not so important.
Traditional Forh uses so called threaded code, which has machine
word sized units.  With 16-bit words that leads to relatively
compact code.  With 32-bit words you double code size.  And
on 64-bit machines this is quite wasteful.

What started the subthread was the question of which HLL goes between
ASM and C (since someone suggested that C was mid-level).

Well, for me important question is how much work is due to tools
(basically overhead) and how much deals with problem domain.
Since computers are now much heaper compared to human work
there is desire to reduce tool overhead as much as possible.
This favours higher level languages, so probably most recently
created languages is at higher level than C.  However, in
sixties and seventies there were pack of so called algorithmic
languages or somewhat more specifically Algol family.  I would
say that C is close to the middle of this pack.  As a devils
advocate let me compare typical implementation of early Pascal
with C modern C.  In C variables, including aggregates can be
initialized at declarartion time, early Pascal did not allow
this, so one had to initalize variables by code.  In C function
definition gives argument names and types, even if there is
earlier prototype.  In early Pascal, if you gave froward
declaration (equivalent of C prototype), you _had_ to omit
function parameters (and their types).  That significantly
decreased readabilty of such functions.  In early Pascal
one had to declare all local variables at the start of
a fucntion.  C has block structure, so one can limit variable
scope to area where variable makes sense.  More importat, one
can declare variable when there is sensible initial value,
which significantly decreases chance of missing/wrong
initalization.  Many early Pascal implementations did not
have conformant arrays (present in original Wirth Pascal).
That meant that all arrays had to be of size known at compile
time.  From C99 C has variably modified types, which allow
writing functions accepting arrays of varying sizes allocated
elsewere.  Let me also mention C preprocessor: it allows programmer
to effectively define simple language extention, so that
language better fits to problem domain.  This in not available
in standard Pascal.  Of course, C has buch of low level features as
casts and pointer arithmetic.  However, with variably modified
types pointer arthmetic is no longer needed and casts are system
programming feature not needed for normal programs.  So if presence
of those bothers you the simple solution is not to use them
(of course C standard defines array access in terms of pointer
artihtmetic, but one can avoid explicit pointer artimetic and
allow only array access in the sources).  Early Pascal has a
bunch of features not present in C, but one can reasonably consider
modern C to be higher level than early Pascal.  And _a lot_
of early languages were at lower level than Pascal.

People suggested ones like BLISS and Forth.
 
I remarked that a proper HLL would let you write just A to either read
the value of variable A, or write to it. Eg. A = A, without special
operators to dereference A's address.

You are looking at superficial things.  Forth is extensible, fetch
appropriate extention from the net and you can write expressions
in infix form using normal syntax.  IIUC Bliss has powerful
preprocessor, I am not sure if it is powerful enough to transform
expression without dereferences into ones with dereferences, but
even if it can not do that extensibility allows to write clearer
code closer to problem domain.

I am not going to write substantial programs in Bliss or Forth
but I have no double they are HLL-s.

--
                              Waldek Hebisch

Date Sujet#  Auteur
24 Aug 24 * Top 10 most common hard skills listed on resumes...406John Forkosh
24 Aug 24 +* Re: Top 10 most common hard skills listed on resumes...3Lawrence D'Oliveiro
24 Aug 24 i`* Re: Top 10 most common hard skills listed on resumes...2Keith Thompson
24 Aug 24 i `- Re: Top 10 most common hard skills listed on resumes...1Lawrence D'Oliveiro
24 Aug 24 +* Re: Top 10 most common hard skills listed on resumes...8David Brown
25 Aug 24 i`* Re: Top 10 most common hard skills listed on resumes...7John Forkosh
25 Aug 24 i +- Re: Top 10 most common hard skills listed on resumes...1Michael S
25 Aug 24 i +* Re: Top 10 most common hard skills listed on resumes...3James Kuyper
25 Aug 24 i i+- Re: Top 10 most common hard skills listed on resumes...1Michael S
26 Aug 24 i i`- Re: Top 10 most common hard skills listed on resumes...1Vir Campestris
25 Aug 24 i `* Re: Top 10 most common hard skills listed on resumes...2David Brown
25 Aug 24 i  `- Re: Top 10 most common hard skills listed on resumes...1Chris M. Thomasson
24 Aug 24 `* Re: Top 10 most common hard skills listed on resumes...394Bonita Montero
24 Aug 24  `* Re: Top 10 most common hard skills listed on resumes...393Bart
24 Aug 24   +* Re: Top 10 most common hard skills listed on resumes...2Vir Campestris
24 Aug 24   i`- Re: Top 10 most common hard skills listed on resumes...1Thiago Adams
25 Aug 24   +* Re: Top 10 most common hard skills listed on resumes...359John Forkosh
25 Aug 24   i+* Re: Top 10 most common hard skills listed on resumes...356James Kuyper
25 Aug 24   ii+* Re: Top 10 most common hard skills listed on resumes...271fir
25 Aug 24   iii+* Re: Top 10 most common hard skills listed on resumes...269Bart
25 Aug 24   iiii+* Re: Top 10 most common hard skills listed on resumes...2Michael S
25 Aug 24   iiiii`- Re: Top 10 most common hard skills listed on resumes...1Bart
25 Aug 24   iiii+* Re: Top 10 most common hard skills listed on resumes...7tTh
25 Aug 24   iiiii`* Re: Top 10 most common hard skills listed on resumes...6Bart
28 Aug 24   iiiii `* Re: Top 10 most common hard skills listed on resumes...5Michael S
28 Aug 24   iiiii  +- Re: Top 10 most common hard skills listed on resumes...1Bonita Montero
28 Aug 24   iiiii  +* Re: Top 10 most common hard skills listed on resumes...2Bart
29 Aug 24   iiiii  i`- Re: Top 10 most common hard skills listed on resumes...1David Brown
30 Aug 24   iiiii  `- Re: Top 10 most common hard skills listed on resumes...1Lawrence D'Oliveiro
26 Aug 24   iiii`* Re: Top 10 most common hard skills listed on resumes...259Lawrence D'Oliveiro
26 Aug 24   iiii `* Re: Top 10 most common hard skills listed on resumes...258Bart
26 Aug 24   iiii  +* Re: Top 10 most common hard skills listed on resumes...256Ben Bacarisse
26 Aug 24   iiii  i+* Re: Top 10 most common hard skills listed on resumes...244Bart
26 Aug 24   iiii  ii+* Re: Top 10 most common hard skills listed on resumes...2Keith Thompson
26 Aug 24   iiii  iii`- Re: Top 10 most common hard skills listed on resumes...1Tim Rentsch
28 Aug 24   iiii  ii`* Re: Top 10 most common hard skills listed on resumes...241Ben Bacarisse
28 Aug 24   iiii  ii `* Re: Top 10 most common hard skills listed on resumes...240Bart
28 Aug 24   iiii  ii  `* Re: Top 10 most common hard skills listed on resumes...239Ben Bacarisse
28 Aug 24   iiii  ii   `* Re: Top 10 most common hard skills listed on resumes...238Bart
29 Aug 24   iiii  ii    +* Re: Top 10 most common hard skills listed on resumes...236Ben Bacarisse
29 Aug 24   iiii  ii    i`* Re: Top 10 most common hard skills listed on resumes...235Bart
29 Aug 24   iiii  ii    i `* Re: Top 10 most common hard skills listed on resumes...234Ben Bacarisse
29 Aug 24   iiii  ii    i  `* Re: Top 10 most common hard skills listed on resumes...233Bart
29 Aug 24   iiii  ii    i   `* Re: Top 10 most common hard skills listed on resumes...232Ben Bacarisse
29 Aug 24   iiii  ii    i    `* Re: Top 10 most common hard skills listed on resumes...231Kaz Kylheku
29 Aug 24   iiii  ii    i     `* Re: Top 10 most common hard skills listed on resumes...230Ben Bacarisse
29 Aug 24   iiii  ii    i      `* Re: Top 10 most common hard skills listed on resumes...229Kaz Kylheku
29 Aug 24   iiii  ii    i       +* Re: Top 10 most common hard skills listed on resumes...227Ben Bacarisse
29 Aug 24   iiii  ii    i       i+* Re: Top 10 most common hard skills listed on resumes...218Bart
29 Aug 24   iiii  ii    i       ii+* Re: Top 10 most common hard skills listed on resumes...5Keith Thompson
29 Aug 24   iiii  ii    i       iii`* Re: Top 10 most common hard skills listed on resumes...4Bart
30 Aug 24   iiii  ii    i       iii `* Re: Top 10 most common hard skills listed on resumes...3Keith Thompson
30 Aug 24   iiii  ii    i       iii  `* Re: Top 10 most common hard skills listed on resumes...2Bart
30 Aug 24   iiii  ii    i       iii   `- Re: Top 10 most common hard skills listed on resumes...1Keith Thompson
30 Aug 24   iiii  ii    i       ii+* Re: Top 10 most common hard skills listed on resumes...56Ben Bacarisse
30 Aug 24   iiii  ii    i       iii`* Re: Top 10 most common hard skills listed on resumes...55Kaz Kylheku
30 Aug 24   iiii  ii    i       iii +* Re: Top 10 most common hard skills listed on resumes...42Tim Rentsch
30 Aug 24   iiii  ii    i       iii i`* Re: Top 10 most common hard skills listed on resumes...41Keith Thompson
31 Aug 24   iiii  ii    i       iii i +* Re: Top 10 most common hard skills listed on resumes...10Kaz Kylheku
31 Aug 24   iiii  ii    i       iii i i+* Re: Top 10 most common hard skills listed on resumes...2James Kuyper
31 Aug 24   iiii  ii    i       iii i ii`- Re: Top 10 most common hard skills listed on resumes...1Keith Thompson
1 Sep 24   iiii  ii    i       iii i i`* Re: Top 10 most common hard skills listed on resumes...7Tim Rentsch
1 Sep 24   iiii  ii    i       iii i i `* Re: Top 10 most common hard skills listed on resumes...6Keith Thompson
1 Sep 24   iiii  ii    i       iii i i  +* Re: Top 10 most common hard skills listed on resumes...4Kaz Kylheku
1 Sep 24   iiii  ii    i       iii i i  i+* Re: Top 10 most common hard skills listed on resumes...2James Kuyper
1 Sep 24   iiii  ii    i       iii i i  ii`- Re: Top 10 most common hard skills listed on resumes...1Tim Rentsch
1 Sep 24   iiii  ii    i       iii i i  i`- Re: Top 10 most common hard skills listed on resumes...1Tim Rentsch
1 Sep 24   iiii  ii    i       iii i i  `- Re: Top 10 most common hard skills listed on resumes...1Tim Rentsch
31 Aug 24   iiii  ii    i       iii i `* Re: Top 10 most common hard skills listed on resumes...30Bart
31 Aug 24   iiii  ii    i       iii i  +- Re: Top 10 most common hard skills listed on resumes...1Kaz Kylheku
31 Aug 24   iiii  ii    i       iii i  +- Re: Top 10 most common hard skills listed on resumes...1James Kuyper
1 Sep 24   iiii  ii    i       iii i  +* Re: Top 10 most common hard skills listed on resumes...3Tim Rentsch
1 Sep 24   iiii  ii    i       iii i  i`* Re: Top 10 most common hard skills listed on resumes...2Bart
1 Sep 24   iiii  ii    i       iii i  i `- Re: Top 10 most common hard skills listed on resumes...1Tim Rentsch
1 Sep 24   iiii  ii    i       iii i  `* Re: Top 10 most common hard skills listed on resumes...24Keith Thompson
1 Sep 24   iiii  ii    i       iii i   `* Re: Top 10 most common hard skills listed on resumes...23Bart
1 Sep 24   iiii  ii    i       iii i    +* Re: Top 10 most common hard skills listed on resumes...3Keith Thompson
1 Sep 24   iiii  ii    i       iii i    i`* Re: Top 10 most common hard skills listed on resumes...2Tim Rentsch
1 Sep 24   iiii  ii    i       iii i    i `- Re: Top 10 most common hard skills listed on resumes...1Keith Thompson
1 Sep 24   iiii  ii    i       iii i    +* Re: Top 10 most common hard skills listed on resumes...17Kaz Kylheku
1 Sep 24   iiii  ii    i       iii i    i`* Re: Top 10 most common hard skills listed on resumes...16Tim Rentsch
8 Sep 24   iiii  ii    i       iii i    i `* Re: Top 10 most common hard skills listed on resumes...15Janis Papanagnou
8 Sep 24   iiii  ii    i       iii i    i  +* Re: Top 10 most common hard skills listed on resumes...10James Kuyper
8 Sep 24   iiii  ii    i       iii i    i  i`* Re: Top 10 most common hard skills listed on resumes...9Janis Papanagnou
9 Sep 24   iiii  ii    i       iii i    i  i +* Re: Top 10 most common hard skills listed on resumes...5David Brown
9 Sep 24   iiii  ii    i       iii i    i  i i`* Re: Top 10 most common hard skills listed on resumes...4James Kuyper
9 Sep 24   iiii  ii    i       iii i    i  i i `* Re: Top 10 most common hard skills listed on resumes...3David Brown
9 Sep 24   iiii  ii    i       iii i    i  i i  `* Re: Top 10 most common hard skills listed on resumes...2James Kuyper
17 Sep14:46   iiii  ii    i       iii i    i  i i   `- Re: Top 10 most common hard skills listed on resumes...1Tim Rentsch
9 Sep 24   iiii  ii    i       iii i    i  i `* Re: Top 10 most common hard skills listed on resumes...3Kaz Kylheku
9 Sep 24   iiii  ii    i       iii i    i  i  +- Re: Top 10 most common hard skills listed on resumes...1James Kuyper
17 Sep14:56   iiii  ii    i       iii i    i  i  `- Re: Top 10 most common hard skills listed on resumes...1Tim Rentsch
17 Sep15:57   iiii  ii    i       iii i    i  `* Re: Top 10 most common hard skills listed on resumes...4Tim Rentsch
17 Sep19:02   iiii  ii    i       iii i    i   `* Re: Top 10 most common hard skills listed on resumes...3Janis Papanagnou
18 Sep01:26   iiii  ii    i       iii i    i    `* Re: Top 10 most common hard skills listed on resumes...2Tim Rentsch
18 Sep17:28   iiii  ii    i       iii i    i     `- Re: Top 10 most common hard skills listed on resumes...1antispam
1 Sep 24   iiii  ii    i       iii i    +- Re: Top 10 most common hard skills listed on resumes...1James Kuyper
7 Sep 24   iiii  ii    i       iii i    `- Re: Top 10 most common hard skills listed on resumes...1Waldek Hebisch
2 Sep 24   iiii  ii    i       iii `* Re: Top 10 most common hard skills listed on resumes...12Ben Bacarisse
2 Sep 24   iiii  ii    i       iii  `* Re: Top 10 most common hard skills listed on resumes...11Bart
2 Sep 24   iiii  ii    i       iii   `* Re: Top 10 most common hard skills listed on resumes...10Ben Bacarisse
30 Aug 24   iiii  ii    i       ii+- Re: Top 10 most common hard skills listed on resumes...1Tim Rentsch
5 Sep 24   iiii  ii    i       ii`* Re: Top 10 most common hard skills listed on resumes...155Waldek Hebisch
29 Aug 24   iiii  ii    i       i`* Re: Top 10 most common hard skills listed on resumes...8James Kuyper
30 Aug 24   iiii  ii    i       `- Re: Top 10 most common hard skills listed on resumes...1Tim Rentsch
29 Aug 24   iiii  ii    `- Re: Top 10 most common hard skills listed on resumes...1Michael S
26 Aug 24   iiii  i`* Re: Top 10 most common hard skills listed on resumes...11Keith Thompson
26 Aug 24   iiii  `- Re: Top 10 most common hard skills listed on resumes...1Lawrence D'Oliveiro
26 Aug 24   iii`- Re: Top 10 most common hard skills listed on resumes...1Lawrence D'Oliveiro
25 Aug 24   ii+* Re: Top 10 most common hard skills listed on resumes...83Bonita Montero
25 Aug 24   ii`- Re: Top 10 most common hard skills listed on resumes...1Janis Papanagnou
25 Aug 24   i+- Re: Top 10 most common hard skills listed on resumes...1Bonita Montero
25 Aug 24   i`- Re: Top 10 most common hard skills listed on resumes...1David Brown
25 Aug 24   `* Re: Top 10 most common hard skills listed on resumes...31Janis Papanagnou

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal