Wednesday, July 15, 2020

Digest for comp.lang.c++@googlegroups.com - 25 updates in 10 topics

Juha Nieminen <nospam@thanks.invalid>: Jul 13 06:20AM

> Yes you are correct that the pointless optional init statement
> was added by C++17
 
Pointless...
 
I suppose the 'for' loop syntax is pointless too, because the exact same
thing can be achieved with a 'while' loop.
 
While we are at it, 'while' is pointless too, because the same thing
can be achieved with 'if' and 'goto'. And 'switch' is pointless because
the same thing can be done with 'if ... else if ...' (In fact,
concatenated ifs are even more versatile than 'switch' because the
comparison and the types involved don't have to all be the same,
which makes 'switch' even more pointless.)
 
And why do we even need support for declaring variables inside blocks?
It's enough to declare all variables at the beginning of the function.
Everything else is pointless.
Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Jul 13 07:04PM +0100

On 13/07/2020 18:50, Keith Thompson wrote:
 
> I think everyone here knows that // comments go to the end of
> the line. The meaning of the code snippet was clear enough. Sure,
> it was a bit sloppy, but why go out of your way to be insulting?
 
Insulting bigots is allowed.
 
/Flibble
 
--
"Snakes didn't evolve, instead talking snakes with legs changed into snakes." - Rick C. Hodgin
 
"You won't burn in hell. But be nice anyway." – Ricky Gervais
 
"I see Atheists are fighting and killing each other again, over who doesn't believe in any God the most. Oh, no..wait.. that never happens." – Ricky Gervais
 
"Suppose it's all true, and you walk up to the pearly gates, and are confronted by God," Byrne asked on his show The Meaning of Life. "What will Stephen Fry say to him, her, or it?"
"I'd say, bone cancer in children? What's that about?" Fry replied.
"How dare you? How dare you create a world to which there is such misery that is not our fault. It's not right, it's utterly, utterly evil."
"Why should I respect a capricious, mean-minded, stupid God who creates a world that is so full of injustice and pain. That's what I would say."
Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Jul 13 05:27PM +0100

>> }
 
> I don't think it's a garbage feature. I'd rather remove
> std::any than the 2017 changes to 'if' statements.
 
std:::any is great because type erasure is great.
 
/Flibble
 
--
"Snakes didn't evolve, instead talking snakes with legs changed into snakes." - Rick C. Hodgin
 
"You won't burn in hell. But be nice anyway." – Ricky Gervais
 
"I see Atheists are fighting and killing each other again, over who doesn't believe in any God the most. Oh, no..wait.. that never happens." – Ricky Gervais
 
"Suppose it's all true, and you walk up to the pearly gates, and are confronted by God," Byrne asked on his show The Meaning of Life. "What will Stephen Fry say to him, her, or it?"
"I'd say, bone cancer in children? What's that about?" Fry replied.
"How dare you? How dare you create a world to which there is such misery that is not our fault. It's not right, it's utterly, utterly evil."
"Why should I respect a capricious, mean-minded, stupid God who creates a world that is so full of injustice and pain. That's what I would say."
Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Jul 13 05:55PM +0100

>>> std::any than the 2017 changes to 'if' statements.
 
>> std:::any is great because type erasure is great.
 
> I'm not seeing interest in std::any here or on Reddit.
 
And that matters why exactly? That has no bearing on whether or not people actually use std::any.
 
/Flibble
 
--
"Snakes didn't evolve, instead talking snakes with legs changed into snakes." - Rick C. Hodgin
 
"You won't burn in hell. But be nice anyway." – Ricky Gervais
 
"I see Atheists are fighting and killing each other again, over who doesn't believe in any God the most. Oh, no..wait.. that never happens." – Ricky Gervais
 
"Suppose it's all true, and you walk up to the pearly gates, and are confronted by God," Byrne asked on his show The Meaning of Life. "What will Stephen Fry say to him, her, or it?"
"I'd say, bone cancer in children? What's that about?" Fry replied.
"How dare you? How dare you create a world to which there is such misery that is not our fault. It's not right, it's utterly, utterly evil."
"Why should I respect a capricious, mean-minded, stupid God who creates a world that is so full of injustice and pain. That's what I would say."
Ian Collins <ian-news@hotmail.com>: Jul 14 08:32AM +1200

On 14/07/2020 08:20, Öö Tiib wrote:
>> std::any than the 2017 changes to 'if' statements.
 
> I am not certain about std::any ... maybe it is niche type
> useful for someone?
 
I have used it on occasion, most recently in a library used to read
kernel statistics from a C interface. Snippet:
 
std::any
NamedKstatsType::value() const
{
switch( stat->data_type )
{
case KSTAT_DATA_CHAR:
return stat->value.c;
case KSTAT_DATA_INT32:
return stat->value.i32;
case KSTAT_DATA_UINT32:
 
etc...
 
--
Ian.
Keith Thompson <Keith.S.Thompson+u@gmail.com>: Jul 13 01:33PM -0700

Öö Tiib <ootiib@hot.ee> writes:
[...]
> I don't want to but because major vendor like Microsoft never
> fixes their implementation. For example their <ctime> is always
> buggy in some way.
[...]
 
Can you be more specific about that? How is Microsoft's <ctime>
implementation buggy?
 
--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
Working, but not speaking, for Philips Healthcare
void Void(void) { Void(); } /* The recursive call of the void */
Keith Thompson <Keith.S.Thompson+u@gmail.com>: Jul 14 01:31AM -0700

>> implementation buggy?
 
> For example issue closed as "not bug" 4 days ago while
> 07:26:18 +0100 and 09:26:18 +0200 are clearly unequal time values.
 
Can you expand on that? What's the bug? What calls produce what
unexpected results? Do you have a link to a bug report?
 
--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
Working, but not speaking, for Philips Healthcare
void Void(void) { Void(); } /* The recursive call of the void */
Real Troll <real.troll@trolls.com>: Jul 14 02:59AM -1000


> Amen.
 
I thought you were Jewish!
Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo>: Jul 12 04:52PM -0400

> return std::max(rand(), bar::foo);
> }
 
> It requires C++17, which I have but some of the people I am working with can not have, so I am not sure if I'm going to apply it right now. But that's my problems, not of C++ standard.
 
They should still be able to initialize in class definition as long as
compiler allows; to avoid linker error just define the variable
somewhere else (without initialization, if they initialize in class
definition). I.e.
 
/* this goes to header file i.e. can be included in multiple compilation
units */
struct bar {
static const int foo = 42;
};
 
const int bar::foo; // this should only be in one compilation unit
 
HTH
-Pavel
boltar@nowhere.co.uk: Jul 13 09:00AM

On Sat, 11 Jul 2020 08:29:41 +1200
 
>You do realise that you are arguing with a bloke who can't count past
>two or compile code, don't you?
 
>https://groups.google.com/g/comp.lang.c++/c/W5ScyR_J6pc/m/zWgA5FfyAgAJ
 
Says the donkey who doesn't realise you need a google account to view that.
boltar@nowhere.co.uk: Jul 13 09:04AM

On Fri, 10 Jul 2020 16:30:21 +0100
>what I am talking about as a way of disguising that you will learn how things
>work from such proof isn't going to work, mate. If you want people to teach
>you things then you will have to learn to stop being such a cockwomble.
 
Thats rich coming from you. As I said - pot meets kettle.
boltar@nowhere.co.uk: Jul 13 09:04AM

On Fri, 10 Jul 2020 17:22:58 +0000 (UTC)
 
>No, they haven't. I already explained how code may access members of an
>object using offsets, but not necessarily all the members are accessed
>and thus their offset are not stored anywhere.
 
Oh ok. So new heap memory allocated to an object or structure is accessed
correctly how exactly?
 
>Besides, this is irrelevant to your original assertion, which was that
 
No, its entirely relevant.
 
>Your original claim was not "the layout of the class is stored in the
>binary". Your original claim was "the class cannot be instantiated if
>its layout isn't in the binary". This whole thing started with your
 
Well its layout IS in the binary in some form even if thats hardwired offsets
in assembler. Are you even going to argue that point too now?
 
>As I have said, I have seen people with your problem many many times
>over the past 25 years. Maybe over the next decade or two you will
>grow up and wisen up.
 
Oh please. Perhaps your English comprehension will also improve by then but
I have my doubts.
boltar@nowhere.co.uk: Jul 13 09:06AM

On Mon, 13 Jul 2020 09:04:08 +0000 (UTC)
>>and thus their offset are not stored anywhere.
 
>Oh ok. So new heap memory allocated to an object or structure is accessed
>correctly how exactly?
 
Heap or stack memory before someone decides to nitpick. Again.
boltar@nowhere.co.uk: Jul 14 08:21AM

On Tue, 14 Jul 2020 06:39:04 +0000 (UTC)
 
>> in assembler. Are you even going to argue that point too now?
 
>That's the closest thing to an admission of having been wrong that you have
>written so far. Maybe you still have hope.
 
Eh? The layout is stored in the binary end of. I never said how. Shall we
end this once and for all? You're a genius in your own mind so I'm sure you
understand assembler so lets have a look at some. Heres the C (to keep it
simple) code:
 
int main()
{
struct st
{
int i;
char c;
short s;
} s;
printf("i = %p\n",&s.i);
printf("c = %p\n",&s.c);
printf("s = %p\n",&s.s);
return 0;
}
 
And here are the relevant assembly instructions. Notice anything?
 
leaq -16(%rbp), %rsi
:
leaq -16(%rbp), %rcx
addq $4, %rcx
:
leaq -16(%rbp), %rcx
addq $6, %rcx
 
Full code at the end in case you think I'm making it up.
 
>your original claim, trying to divert attention away from it, so that you
>don't have to admit having made a mistake. I have seen that many, many
>times. It's useless to try to hide what you are doing.
 
You really are a grade A gold plated prize dick. Now fuck off.
 
 
 
 
.section __TEXT,__text,regular,pure_instructions
.build_version macos, 10, 15 sdk_version 10, 15, 4
.globl _main ## -- Begin function main
.p2align 4, 0x90
_main: ## @main
.cfi_startproc
## %bb.0:
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset %rbp, -16
movq %rsp, %rbp
.cfi_def_cfa_register %rbp
subq $32, %rsp
 
 
** leaq -16(%rbp), %rsi
 
 
movl $0, -4(%rbp)
leaq L_.str(%rip), %rdi
movb $0, %al
callq _printf
 
** leaq -16(%rbp), %rcx
addq $4, %rcx
 
leaq L_.str.1(%rip), %rdi
movq %rcx, %rsi
movl %eax, -20(%rbp) ## 4-byte Spill
movb $0, %al
callq _printf
 
 
** leaq -16(%rbp), %rcx
addq $6, %rcx
 
 
leaq L_.str.2(%rip), %rdi
movq %rcx, %rsi
movl %eax, -24(%rbp) ## 4-byte Spill
movb $0, %al
callq _printf
xorl %edx, %edx
movl %eax, -28(%rbp) ## 4-byte Spill
movl %edx, %eax
addq $32, %rsp
popq %rbp
retq
.cfi_endproc
## -- End function
.section __TEXT,__cstring,cstring_literals
L_.str: ## @.str
.asciz "i = %p\n"
 
L_.str.1: ## @.str.1
.asciz "c = %p\n"
 
L_.str.2: ## @.str.2
.asciz "s = %p\n"
"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>: Jul 13 02:11PM -0700


> http://concurrencyfreaks.blogspot.com/2017/08/why-is-memory-reclamation-so-important.html
 
> It says the following:
 
> "Atomic Reference Counting is just what the name says, it's a "reference counting" technique but with atomics. The details are a bit more tricky than your usual reference counting (aka smart pointers), but it's still graspable for most. They can be implemented in a wait-free way (in x86) but they have two main drawbacks: they're slow and they aren't universal. They're slow because whenever we have to traverse a list of nodes we need to atomically increment a counter in one node and decrement a counter in another... even though we're just reading."
 
I don't think you understand what atomic reference counting can be.
There are many flavors. Check this out for fun:
 
https://patents.google.com/patent/US5295262
 
Btw, have you ever heard of proxy reference counting? Each node does not
need a counter.
"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>: Jul 13 04:37PM -0700

>> need a counter.
 
> Read this:
 
> https://groups.google.com/forum/#!topic/comp.programming.threads/F_cF4ft1Qic
 
You seem to think that all dynamic lock-free data-structures require
garbage collection. Why? Who told you that?
Scott Newman <scott69@gmail.com>: Jul 13 08:44AM +0200

> I am a white arab, and i think i am smart like a "genius", ...
 
Yes, you're a genius and your posts are welcome here.
Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo>: Jul 12 05:35PM -0400

Daniel P wrote:
 
> It compiles with earlier versions of vs.
 
> Thanks,
> Daniel
 
Daniel, I think it should compiler. To fix, I would try to replace
std::string with explicit specialization just in case Microsoft messed
it up with an additional template parameter or such (I do not have
VS2019 handy so cannot check myself). HTH. -Pavel
"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>: Jul 12 02:20PM -0700

Some context: read all
 
https://groups.google.com/forum/#!original/comp.arch/k1Qr520dcDk/4vl_jiVRBQAJ
 
within the following thread:
 
https://groups.google.com/d/topic/comp.arch/k1Qr520dcDk/discussion
 
 
I need to find an older post I made that has a test for this using
threads. Remember coding it up in Relacy. Anyway, here is a _highly_
_crude_ little implementation. It should compile right up.
_____________________________
#include <iostream>
#include <atomic>
#include <thread>
 
 
struct user_payload
{
int m_foo;
 
user_payload(int foo) : m_foo(foo) {}
 
user_payload(const user_payload& rhs) : m_foo(rhs.m_foo) {}
 
void process()
{
std::cout << this << "->user_payload::process() " << m_foo << "\n";
std::this_thread::yield();
}
};
 
 
namespace ct
{
 
static struct node* node_wait_next(node*);
 
struct node
{
std::atomic<node*> m_next;
user_payload m_payload;
 
 
node(user_payload const& payload) : m_next(nullptr),
m_payload(payload)
{
std::cout << this << "->node::node()" << "\n";
}
 
~node()
{
std::cout << this << "->node::~node()" << "\n";
}
 
 
static void process(node* head)
{
node* cur = head;
 
while (cur)
{
// user processing first!
cur->m_payload.process();
 
// now, we see if we need to wait...
node* next = node_wait_next(cur);
 
delete cur;
 
cur = next;
}
}
};
 
 
static node g_special_wait_node(0);
 
 
#define CT_SPECIAL (&ct::g_special_wait_node)
 
 
node* node_wait_next(node* n)
{
node* next = nullptr;
while ((next = n->m_next.load(std::memory_order_relaxed))
== CT_SPECIAL) std::this_thread::yield();
return next;
}
 
struct stack
{
std::atomic<node*> m_head;
 
stack() : m_head(nullptr) {}
 
void push(node* n)
{
n->m_next.store(CT_SPECIAL, std::memory_order_relaxed);
node* prev = m_head.exchange(n, std::memory_order_release);
n->m_next.store(prev, std::memory_order_relaxed);
}
 
 
node* flush()
{
return m_head.exchange(nullptr, std::memory_order_acquire);
}
};
}
 
 
int main()
{
std::cout << "\nCT_SPECIAL = " << CT_SPECIAL << "\n\n";
 
{
ct::stack alist;
 
alist.push(new ct::node(789));
alist.push(new ct::node(456));
alist.push(new ct::node(123));
 
ct::node* work = alist.flush();
 
ct::node::process(work);
 
 
alist.push(new ct::node(321));
alist.push(new ct::node(654));
alist.push(new ct::node(987));
 
work = alist.flush();
 
ct::node::process(work);
}
 
return 0;
}
_____________________________
 
 
Can you get it to work? Fwiw, I get the following output:
_____________________________
0x6021c0->node::node()
 
CT_SPECIAL = 0x6021c0
 
0x17a0280->node::node()
0x17a02a0->node::node()
0x17a02c0->node::node()
0x17a02c8->user_payload::process() 123
0x17a02c0->node::~node()
0x17a02a8->user_payload::process() 456
0x17a02a0->node::~node()
0x17a0288->user_payload::process() 789
0x17a0280->node::~node()
0x17a0280->node::node()
0x17a02a0->node::node()
0x17a02c0->node::node()
0x17a02c8->user_payload::process() 987
0x17a02c0->node::~node()
0x17a02a8->user_payload::process() 654
0x17a02a0->node::~node()
0x17a0288->user_payload::process() 321
0x17a0280->node::~node()
0x6021c0->node::~node()
_____________________________
Scott Newman <scott69@gmail.com>: Jul 12 08:07PM +0200

> Hello,
> Don't bother too much, because i am posting just very few posts here.
 
Your posts are always welcome.
You're a genius.
gazelle@shell.xmission.com (Kenny McCormack): Jul 12 08:02PM

In article <refjg9$kfg$1@dont-email.me>,
>> Don't bother too much, because i am posting just very few posts here.
 
>Your posts are always welcome.
>You're a genius.
 
Kudos to you, Scott. Correct spelling of your/you're/yore - twice!
 
Well done. Most folks fail on this at least once.
 
How are you on there/their/they're ?
 
--
The randomly chosen signature file that would have appeared here is more than 4
lines long. As such, it violates one or more Usenet RFCs. In order to remain
in compliance with said RFCs, the actual sig can be found at the following URL:
http://user.xmission.com/~gazelle/Sigs/LadyChatterley
Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Jul 12 07:21PM +0100

On 12/07/2020 19:07, Scott Newman wrote:
>> Don't bother too much, because i am posting just very few posts here.
 
> Your posts are always welcome.
> You're a genius.
 
Fuck. Off.
 
/Flibble
 
--
"Snakes didn't evolve, instead talking snakes with legs changed into snakes." - Rick C. Hodgin
 
"You won't burn in hell. But be nice anyway." – Ricky Gervais
 
"I see Atheists are fighting and killing each other again, over who doesn't believe in any God the most. Oh, no..wait.. that never happens." – Ricky Gervais
 
"Suppose it's all true, and you walk up to the pearly gates, and are confronted by God," Byrne asked on his show The Meaning of Life. "What will Stephen Fry say to him, her, or it?"
"I'd say, bone cancer in children? What's that about?" Fry replied.
"How dare you? How dare you create a world to which there is such misery that is not our fault. It's not right, it's utterly, utterly evil."
"Why should I respect a capricious, mean-minded, stupid God who creates a world that is so full of injustice and pain. That's what I would say."
Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Jul 12 03:57PM +0100

Hi!
 
neoGFX now includes a generic and extensible settings system with a standard settings dialog for which custom setting widgets can be created for custom setting types.
 
register_category("environment"_s, "Environment"_t);
register_group("environment.general"_s, "General"_t);
register_group("environment.accounts_and_licensing"_s, "Accounts and Licensing"_t);
register_group("environment.documents"_s, "Documents"_t);
register_group("environment.fonts_and_colors"_s, "Fonts and Colors"_t);
register_group("environment.workspace"_s, "Workspace"_t);
register_group("environment.keyboard"_s, "Keyboard"_t);
register_group("environment.tabs_and_windows"_s, "Tabs and Windows"_t);
register_category("text_editor"_s, "Text Editor"_t);
register_group("text_editor.general"_s, "General"_t);
register_group("text_editor.advanced"_s, "Advanced"_t);
register_group("text_editor.tabs_and_indentation"_s, "Tabs and Indentation"_t);
register_group("text_editor.syntax_highlighting"_s, "Syntax Highlighting"_t);
register_category("node_editor"_s, "Node Editor"_t);
register_category("scripting"_s, "Scripting"_t);
register_category("debugging"_s, "Debugging"_t);
register_category("projects"_s, "Projects"_t);
register_category("source_control"_s, "Source Control"_t);
register_category("team"_s, "Team"_t);
register_category("plugins"_s, "Plugins"_t);
 
register_setting<color>("environment.general.theme"_s, service<i_app>().current_style().palette().color(color_role::Theme), "Theme color: %?%"_t);
register_setting<workspace_grid>("environment.workspace.grid_type"_s, workspace_grid::Lines, "Grid type : %?% Grid size: %environment.workspace.grid_size:?%"_t);
register_setting<uint32_t>("environment.workspace.grid_size"_s, 20, ng::setting_constraints<uint32_t>{ false, false, 2, 64, 2 });
register_setting<gradient>("environment.workspace.grid_color"_s, gradient{ service<i_app>().current_style().palette().color(color_role::Theme).with_alpha(0.25) }, { true }, "Grid color: %?%"_t);
 
Video:
 
https://www.youtube.com/watch?v=1ByxyyPIh-o
 
neoGFX - the cheaper, superior alternative to the currently most popular C++ GUI toolkit .. coming soon!
 
/Flibble
 
--
"Snakes didn't evolve, instead talking snakes with legs changed into snakes." - Rick C. Hodgin
 
"You won't burn in hell. But be nice anyway." – Ricky Gervais
 
"I see Atheists are fighting and killing each other again, over who doesn't believe in any God the most. Oh, no..wait.. that never happens." – Ricky Gervais
 
"Suppose it's all true, and you walk up to the pearly gates, and are confronted by God," Byrne asked on his show The Meaning of Life. "What will Stephen Fry say to him, her, or it?"
"I'd say, bone cancer in children? What's that about?" Fry replied.
"How dare you? How dare you create a world to which there is such misery that is not our fault. It's not right, it's utterly, utterly evil."
"Why should I respect a capricious, mean-minded, stupid God who creates a world that is so full of injustice and pain. That's what I would say."
aminer68@gmail.com: Jul 15 06:52PM -0700

Hello,
 
 
This was my last post here in this newsgroup of C++
 
Good bye.
 
 
Thank you,
Amine Moulay Ramdane.
aminer68@gmail.com: Jul 15 06:05PM -0700

Hello,
 
 
Read again, here is my final post about what is it to be smart ?
 
I am a white arab, and i think i am smart like a genius ,
since i have invented many scalable algorithms and there implementations, and today i will speak about what is
it to be "smart"..
 
So i will start it by inviting you to read carefully the following webpage from a Senior Consultant (and former Editor-in-Chief and Publishing Director) of New Scientist and Author of After the Ice:
 
Why are humans smarter than other animals?
 
https://www.edge.org/response-detail/12021
 
So as you are noticing he is saying the following:
 
--
"The idea of human superiority should have died when Darwin came on the scene.
Unfortunately, the full implications of what he said have been difficult to take in: there is no Great Chain of Being, no higher and no lower. All creatures have adapted effectively to their own environments in their own way. Human "smartness" is just a particular survival strategy among many others, not the top of a long ladder.
It took a surprisingly long time for scientists to grasp this. For decades, comparative psychologists tried to work out the learning abilities of different species so that they could be arranged on a single scale. Animal equivalents of intelligence tests were used and people seriously asked whether fish were smarter than birds. It took the new science of ethology, created by Nobel-prize winners Konrad Lorenz, Niko Tinbergen and Karl von Frisch, to show that each species had the abilities it needed for its own lifestyle and they could not be not arranged on a universal scale. Human smartness is no smarter than anyone else's smartness. The question should have died for good."
--
 
So i am smart like a genius and i say that the above webpage is not so smart, because the logical reasoning defect is that he is first saying the following:
 
"Human "smartness" is just a particular survival strategy"
 
 
This is the first logical defect, since he is like using boolean logic by saying that human smartness is only a particular survival strategy, and this is not correct logical reasoning, because we have like to be fuzzy logic and say that not all humans are using smartness for only survival, since we are not like animals, since we have not to think it only societally, but we can also say there is a great proportion of humans that have transcended there "survival" condition with there smartness to be a much better human condition than only survival. So now we can say with human smartness (and measure it with human smartness) that the humans that have transcended there "survival" condition with there smartness to be a much human condition have a much superior smartness than animals, since we can measure it with human smartness, and here is the definition of surviving in the dictionary:
 
https://www.dictionary.com/browse/survive
 
So as you are noticing that survival is only to remain alive, so i am logical in my thoughts above.
 
The second logical defect of the above webpage is the following:
 
Notice that the above webpage that he is saying the following:
 
"Strangley enough, even evolutionary biologists still get caught up with the notion that humans stand at the apex of existence. There are endless books from evolutionary biologists speculating on the reasons why humans evolved such wonderful big brains, but a complete absence of those which ask if a big brains is a really useful organ to have. The evidence is far from persuasive. If you look at a wide range of organisms, those with bigger brains are generally no more successful than those with smaller brains — hey go extinct just as fast."
 
So i think that the above webpage is not right.
 
So notice again that he is saying that the brain must be successful in survival, and this is not correct reasoning, since as i said above
smartness is not only about survival, since we have to measure it with
our smartness and notice that from also my above thoughts that we can
be humans that are much more smart than animals even if we go extinct.
 
So the important thing to notice in my above logical reasoning , is
that you have to measure smartness with smartness, it is the same
as my following logical proof about: Is beauty universal ? ,
here it is , read it carefully:
 
I will make you understand with smartness what about the following webpage:
 
Look at the following webpage from BBC:
 
The myth of universal beauty
 
https://www.bbc.com/future/article/20150622-the-myth-of-universal-beauty
 
So notice in the above webpage that it is saying the following about
beauty:
 
"Where starvation is a risk, heavier weight is more attractive"
 
So you have to understand that the above webpage from BBC is not smart,
i will make you understand with smartness that beauty is universal,
so if we take the following sentence of the above webpage:
 
"Where starvation is a risk, heavier weight is more attractive"
 
So you have to put it in the context of the above webpage, and
understand that the way of thinking of the webpage from BBC is not smart, because it is saying that since in the above sentence starvation is a risk , so heavier weight can be more attractive, but this can be heavier weight that is not beautiful for the eyes, so it makes a conclusion that universal beauty is not universal, but this is not smart because we have not to measure beautifulness with only our eyes and say that heavier weight that is not beautiful for the eyes is not beautiful, because we have to measure it with smartness and say that smartness says that in the above sentence that heavier weight that is not beautiful for the eyes is beautiful for smartness because starvation is a risk, so then with smartness we can say that beauty is universal. So we have to know that that the system of reference of measure is very important, by logical analogy we can say that measuring beautifulness with the eyes is like measuring individual smartness with only genetics, but measuring beautifulness with both the eyes and smartness is like measuring individual smartness with both the genetical and the cultural.
 
 
Thank you,
Amine Moulay Ramdane.
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to comp.lang.c+++unsubscribe@googlegroups.com.

No comments: